|
INTERVIEW QUESTIONS
PROGRAMMING LANGUAGES
C
DETAILS
Question: main() { int i =10, j = 20; clrscr(); printf("%d, %d, ", j-- , --i); printf("%d, %d ", j++ , ++i); }
Answer: A) 20, 9, 19, 10 in first -- printf "j" will be printed first then subtracted one from it. however from "i" one will subtracted before printing it on the screen
|
|
|
Category |
C Interview Questions & Answers -
Exam Mode /
Learning Mode
|
Rating |
(0.3) By 6818 users |
Added on |
7/18/2011 |
Views |
71020 |
Rate it! |
|
|
Question:
main() { int i =10, j = 20; clrscr(); printf("%d, %d, ", j-- , --i); printf("%d, %d ", j++ , ++i); }
Answer:
A) 20, 9, 19, 10 in first -- printf "j" will be printed first then subtracted one from it. however from "i" one will subtracted before printing it on the screen Source: CoolInterview.com
In printf() evaluation happens from right to left. <--- . so --i is evaluated first and then j--.
When --i is evaluated, first it should decrement and then assign to i. So the value becomes 9. When j-- is evaluated, first assign and then decrement. So j-- value will be 20 only at that time later it will be 19.
At this point of time i=9 and j=19.
Now the second printf(), Here also right to left. So ++i value will be(increment and then assign) 10. Where as j++(assign first then increment) its value will be still 19. After this printf() if we print the i and j values it will be 10 and 20.
Extra Information: Whenever parameters are passed to a function, after evaluation they are stored in stack. similarly, --i value ie 9 is pushed into stack and later j-- value ie 20. So while printing on the screen, the first value ie j-- is poped first and later --i value. Hence we get 20,9 as the output of the first printf(). similarly we get 19,10 Source: CoolInterview.com
Answered by: Syed Baseer Ahmed | Date:
| Contact Syed Baseer Ahmed
If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
- There should not be any Spelling Mistakes.
- There should not be any Gramatical Errors.
- Answers must not contain any bad words.
- Answers should not be the repeat of same answer, already approved.
- Answer should be complete in itself.
|
|
Related Questions |
View Answer |
|
void main () { int x = 10; printf ("x = %d, y = %d", x,--x++); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { char c; int i = 456; clrscr(); c = i; printf("%d", c); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { int c = 5; printf("%d", main||c); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { int i = 100; clrscr(); printf("%d", sizeof(sizeof(i))); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { printf("%d, %d", sizeof('c'), sizeof(100)); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
void func1(int (*a)[10]) { printf("Ok it works"); } void func2(int a[][10]) { printf("Will this work?"); }
main() { int a[10][10]; func1(a); func2(a); }
|
} void func2(int a[][10]) { prin - C Interview Questions & Answers">
View Answer
|
|
main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcpy(a,b)); }
|
char *b = "World"; clrscr(); printf("%s", strcpy(a,b));< - C Interview Questions & Answers">
View Answer
|
|
main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcat(a,b)); }
|
char *b = "World"; clrscr(); printf("%s", strcat(a,b));< - C Interview Questions & Answers">
View Answer
|
|
struct Foo { char *pName; char *pAddress; }; main() { struct Foo *obj = malloc(sizeof(struct Foo)); clrscr(); obj->pName = malloc(100); obj->pAddress = malloc(100); strcpy(obj->pName,"Your Name"); strcpy(obj->pAddress, "Your Address"); free(obj); printf("%s", obj->pName); printf("%s", obj->pAddress); }
|
View Answer
|
|
const int perplexed = 2; #define perplexed 3 main() { #ifdef perplexed #undef perplexed #define perplexed 4 #endif printf("%d",perplexed); }
|
View Answer
|
|
main() { char * strA; char * strB = I am OK; memcpy( strA, strB, 6); }
|
View Answer
|
|
main() { char *p = "hello world"; p[0] = 'H'; printf("%s", p); }
|
p[0] = 'H'; printf("%s", p); }
- C Interview Questions & Answers">
View Answer
|
|
main() { int i, j; scanf("%d %d"+scanf("%d %d", &i, &j)); printf("%d %d", i, j); }
|
printf("%d %d", i, j); }
View Answer
|
|
main() { int i, j, *p; i = 25; j = 100; p = &i; // Address of i is assigned to pointer p printf("%f", i/(*p) ); // i is divided by pointer p }
|
View Answer
|
|
union u { struct st { int i : 4; int j : 4; int k : 4; int l; }st; int i; }u; main() { u.i = 100; printf("%d, %d, %d",u.i, u.st.i, u.st.l); }
|
View Answer
|
|
#define SQR(x) x * x main() { printf("%d", 225/SQR(15)); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { int i = 0xff ; printf("n%d", i<<2); }
|
}
- C Interview Questions & Answers">
View Answer
|
|
main() { int i; float *pf; pf = (float *)&i; *pf = 100.00; printf("n %d", i); }
|
} - C Interview Questions & Answers">
View Answer
|
|
main(int argc, char *argv[]) { (main && argc) ? main(argc-1, NULL) : return 0; }
|
View Answer
|
|
main() { int i; clrscr(); printf("%d", &i)+1; scanf("%d", i)-1; }
|
scanf("%d", i)-1; }
View Answer
|
Please Note: We keep on updating better answers to this site. In case you are looking for Jobs, Pls Click Here Vyoms.com - Best Freshers & Experienced Jobs Website.
View All C Interview Questions & Answers - Exam Mode /
Learning Mode
|