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 |
What are file streams?
what are enumerations in C
What are pointers in C?
What is that continue statement??
WHY DO WE USE A TERMINATOR IN C LANGUAGE?
Write a C program to accept a matrix of any size. Find the frequency count of each element in the matrix and positions in which they appear in the matrix
Write a program for Overriding.
program for comparing 2 strings without strcmp()
write a program without using main function?
What is meant by preprocessor in c?
Write a program to print numbers from 1 to 100 without using loop in c?
Can a binary search tree be used as an index? If yes, how? Explain