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 |
Can a variable be both const and volatile?
What is scope rule in c?
Why do we use null pointer?
Is it possible to have a function as a parameter in another function?
What is the purpose of 'register' keyword in c language?
Write a program to replace n bits from the position p of the bit representation of an inputted character x with the one's complement. Method invertBit takes 3 parameters x as input character, p as position and n as the number of positions from p. Replace n bits from pth position in 8 bit character x. Then return the characters by inverting the bits.
Can I use base-2 constants (something like 0b101010)? Is there a printf format for binary?
how can make variable not in registers
main() { printf("\n %d %d %d",sizeof('3'),sizeof("3"),sizeof(3)); } wat is the o/p and how?
main() { charx; while (x=0;x<=255;x++) printf("\nAscii value %d Character %c,x,x); }
int main() { unsigned char a = 0; do { printf("%d=%c\n",a,a); a++; }while(a!=0); return 0; } can anyone please explain me output????
how to print 2-D array using a single for loop?
2 Answers Mind Tree, TCS, Value Labs,