C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C Prime Number code in C Factorial Program in C using For Loop Factorial Program in C Using While Loop Fibonacci Series in C Using For Loop Fibonacci series in C using while loop Prime Number Program in C using for Loop While Loop in C programming examples Built-in functions in C Assert() Function C vs Java Strings Call Back Function in Embedded C Else If Ladder fgets() function Ftell() Function getc() function getch() function gets() function Heap Sort Nested if-else statement Pi() Function Positioning of file Write() function abs() function in C Attributes in C C program to find factorial of a number using Recursion Ferror() in c fopen() function in C Fibonacci series program in C using Recursion Formatted Input and output function in C Snake Game in C User Defined Functions in C Beep() function in C Cbrt() function in C Hook() function in C Isalnum() function in C C Program to find the Roots of a Quadratic Equation C Switch Statements Difference between rand() and srand() function in C Difference between while and for loop in C Doubly Linked list in C Example of Iteration in C How to use atoi() function in C How to use floor() function in C How to use sine() function in C How to use Typedef Struct in C Integer Promotions in C C Program Swap Numbers in cyclic order Using Call by Reference C Program to Find Largest Number Using Dynamic Memory Allocation C Program to Find the Largest Number using Ternary Operator C/C++ Program to Find the Size of int, float, double and char Find the Largest Three Distinct Elements in an Array using C/C++ Loop Questions in C Modulus on Negative Numbers in C Multiplication table program in C using For loop Nested Loops in C Programming Examples C Program for Mean and Median of an Unsorted Array Results of Comparison Operations in C and C++ Reverse a Stack using Recursion in C Simple hash() function in C strcat() Function in C Sum of N numbers in C using For loop Use of free() function in C Write a program that produces different results in C and C++ C Function Argument and Return Values Keywords in C

Write a program that produces different results in C and C++

In this tutorial, we'll explore several programs that, depending on whether they are developed using C or C++ compilers, will produce varying outputs. There are numerous similar programs, but we will just clarify a few here.

1. The way in which character literals are handled in C and C++ differs. 'x' , 'y'.., and other character literals are interpreted as characters in C++ but as integers in C. Details are provided here.

As an illustration, the following program outputs sizeof(int) in C but sizeof(char) in C++.

C Program:

#include<stdio.h>
int main ()
{
printf ( "%d", sizeof ('x') );
return 0;
}

Output:

4

C++ Program:

#include<iostream>
using namespace std;
int main ()
{
cout << sizeof ('x');
return 0;
}

Output:

1

2. The struct label must be used each and every time when a struct variable is declared in C. Struct tags are not required in C++. Let's say that there is a structure for kids. For kids variables in C, we need to use 'struct kids'. We can only use "kids" in C++ instead of the struct.

The program that follows, which generates various outputs in both C and C++, is based on the fact. Sizeof (int) and sizeof (struct k) are printed in C and C++, respectively.

C Program:

#include <stdio.h>
int k;
int main ()
{
	struct k { 
		double y 
	}; // This k covers up the global variable k in C++, but not in C.
	printf ( "%d", sizeof (k) );
	return 0;
}

Output:

4

C++ Program:

#include <iostream>
using namespace std;
int k;
int main ()
{
	struct k { 
		double y;
	}; // This k covers up the global variable k in C++, but not in C.
	cout << sizeof (k) ;
	return 0;
}

Output:

8

3. In C and C++, different boolean result types are found.

C Program:

#include <stdio.h>
int main ()
{
	printf ("%d",sizeof (2==2) );
	return 0;
}

Output:

4

C++ Program:

#include <iostream>
using namespace std;
int main ()
{
	cout << sizeof ( 2==2 );
	return 0;
}

Output:

1



ADVERTISEMENT
ADVERTISEMENT