#include<stdio.h>
void main()
{
int i=1;
printf("%d%d%d",i++,++i,i);
}
Answers were Sorted based on User's Feedback
Answer / medo
221...
In printf() function compiler calculates the values from
right to left,but prints the values from left to right.
| Is This Answer Correct ? | 28 Yes | 13 No |
Answer / samrat
The Ans is: 2,3,3
In printf() the evaluation starts from right and the
printing of the values start from left.
Coming from right, the initial value is 1, after that ++i
will increment the value of i to 2. Now i++ will not be
incremented now. It will be incremented after the first "i"
is printed.
So we print 2 first, then the value of i is incremented to 3
(by executing i++). So for the other two i's the value will
be 3. So the ans is 2,3,3
| Is This Answer Correct ? | 13 Yes | 6 No |
Basically in printf the values are calcualted from right to left...and the output is displayed from left to right.
so the output will be
221
first one will be printed
then one will be incremented by one and made as two..since it is a pre increment and will be printed..
then the value now is 2..so it will be printed then it will be incremented { post increment }..
good question..
a typical example for working of Printf
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / prem_mallappa
The right answer is : Unpredictable/implementation defined behaviour.
Why? : get a C faq's book or visit online at c-faq.org
Reason: variable 'i' is changed more thane once between 'sequence point', a sequence point is a semicolon in 'C'. in such cases the result is unknown or compiler dependent.
| Is This Answer Correct ? | 1 Yes | 0 No |
I AM RICKY DOBRIYAL
THIS ANSWER IS DEFINETLY CORRECT
221
BECAUSE COMPILER CALCULATE RIGHT TO LEFT
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / mementomori76
answer is 221, but you shouldn't use void main
it's better to use int main()
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / rakesh
121
the first value is post increment(++i) and so at the first compilation the value is not incremented.. the next value is pre increment(i++) so it is incremented at the first compile. the third is the same as the input.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / shahenshah07
its o/p:2 2 1
cause when parameter pass to any f'n its stored in a
stack(lifo).dats y its print i,++i;i++ respectively.
| Is This Answer Correct ? | 0 Yes | 0 No |
char* f() return "hello:"; void main() {char *str=f(); }
I can not get my C++ program to work right. It is supposed to tell if a word is a palindrome or not, but it only tells thet the word is not a palindrome. And I can't fix it.
How to create a program that lists the capital country when told what the original country is? (Terribly sorry, I'm a novice programmer and would appreciate any help ;). Cheers, Alexxis
Display this kind of output on screen. 1 0 1 1 0 1 3. Display this kind of output on screen. 1 1 0 1 0 1 4. Display this kind of output on screen. 1 1 0 1 0 1 5.Display this kind of output on screen. 1 2 3 4 5 6 7 8 9 10
Assume that the int variables i and j have been declared, and that n has been declared and initialized. Write code that causes a "triangle" of asterisks of size n to be output to the screen. Specifically, n lines should be printed out, the first consisting of a single asterisk, the second consisting of two asterisks, the third consistings of three, etc. The last line should consist of n asterisks. Thus, for example, if n has value 3, the output of your code should be * ** *** You should not output any space characters. Hint: Use a for loop nested inside another for loop.
How to upgrade LOOP environment, I just mean, how can i make loop statement editable ? I just try some program using loop statement and checking it in multiple compilers. Every compiler showing different output, what's the wrong ? is it a compiler based problem, or loop based problem, tell me why ? and what will be the debugging process, for this kind of problem ?
Write a C program to enter 10 integer numbers through one variable and count how many of them are even using while loop ?
I'm having trouble with coming up with the correct code. Thank You!! The assignment was to write a program using string functions that accepts a price of an item and displays its coded value. The base of the keys: X C O M P U T E R S 0 1 2 3 4 5 6 7 8 9 Sample I/O Dialogue: Enter Price: 489.50 Coded Value: PRS.UX
How to develop a program using C language to convert 8-bit binary values to decimals. TQ
what is the large sustained error signal that eventually cause the controller output to drive to its limit
UINT i,j; i = j = 0; i = ( i++ > ++j ) ? i++ : i--; explain pls....
Using string functions write a program that will accept the name of the capital as input value and will display the corresponding country. ------------------------ Capitals Countries ------------------------ Capitals Countries Ottawa Canada Moscow Russia Rome Italy I can't not get it to run properly