main()
{
int i = 1;
int num[] = {1,2,3,4};
num[i] = i++;
printf("%d", num[i]);
}
what will be the output?
}
Answers were Sorted based on User's Feedback
Answer / james holdcroft
The output will be 1 or 3, depending on the compiler.
Quoting from "The C Programming Language, Second Edition"
by Kernighan and Ritchie:
C, like most languages, does not specify the order in which
operands of an operator are evaluated. (The exceptions are
&&, ||, ?:, and ','.)
...
One unhappy situation is typified by the statement
a[i] = i++;
The question is whether the subscript is the old value of i
or the new. Compilers can interpret this in different
ways, and generate different answers depending on their
interpretation.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aniruddha
It will print answer 1 because in case of++ atfairt assing
and then increment..
| Is This Answer Correct ? | 5 Yes | 6 No |
Answer / ismail
2 is the ans
num[i]=i++
num[1]=2
now num[1] is changed with 2(same as the previous value)
now to print num[i]=num[1] right?
its 2 which is in num[1] solved!!!!
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / vijay
main()
{
int i = 1;
int num[] = {1,2,3,4};
num[i] = i++; //num[2]=1; after compile time
printf("%d", num[i]);
}
}
output:- 1
//if you have R&D mode then send the your view .No doubt ,
//it is correct.
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / abdur rab
it will lead to Undefined behaviour, both answers 3 aand 4
are correct.
| Is This Answer Correct ? | 0 Yes | 5 No |
Answer / raju
correct answer is 2 bcz once assign only that will take as
that value
| Is This Answer Correct ? | 0 Yes | 6 No |
when will be evaluated as true/ if(x==x==x) a) x=1; b) x=0; c) x=-1; d) none
main() { int a; a=++100; printf("%d",a); getch(); }
Explain what is the difference between null and nul?
Explain pointer. What are function pointers in C?
What is declaration and definition in c?
what is the difference between these initializations? Char a[]=”string”; Char *p=”literal”; Does *p++ increment p, or what it points to?
how does the C compiler interpret the following two statements p=p+x; q=q+y; a.p=p+x; q=q+y b.p=p+xq=q+y c.p=p+xq; q=q+y d.p=p+x/q=q+y
What is dynamic dispatch in c++?
Explain what is a pragma?
What is indirect recursion? give an example?
How can I make it pause before closing the program output window?
What is the use of sizeof?