Give the output on the screen of the following program
#include <stdio.h>
#define PRINT(format,x) printf(#x " = %"#format"\n",x)
int main()
{
int integer = 5;
char character = '5';
char *string = "5";
PRINT(d, string);
PRINT(d, character);
PRINT(d, integer);
PRINT(s, string);
PRINT(c, character);
PRINT(c, integer=53);
PRINT(d,('5'>5));
{
int sx = -8;
unsigned ux = -8;
PRINT(o,sx);
PRINT(o,ux);
PRINT(o,sx>>3);
PRINT(o,ux>>3);
PRINT(d,sx>>3);
PRINT(d,ux>>3);
}
return 0;
}
Difficulty level
This exercise is mostly suitable for students
string = 4196000 // an address
character = 53
integer = 5
string = 5
character = 5
integer=53 = 5
('5'>5) = 1
sx = 37777777770
ux = 37777777770
sx>>3 = 37777777777 or 037777777777
ux>>3 = 3777777777
sx>>3 = -1 or 536970911
ux>>3 = 536870911
OR
sx = 177770
ux = 177770
sx>>3 = 177770 or 0177770
ux>>3 = 177770
sx>>3 = -1 or 8191
ux>>3 = 8191
Back to the list of exercises
Looking for a more challenging exercise, try this one !!
Implementation of a deque using a doubly-linked list