int main(int argc, char ** argv)
{
int i = 0;
i = i++ + ++i;
printf("%d\n", i); // 3
i = 1;
i = (i++);
printf("%d\n", i); // 2 Should be 1, no ?
volatile int u = 0;
u = u++ + ++u;
printf("%d\n", u); // 1
u = 1;
u = (u++);
printf("%d\n", u); // 2 Should also be one, no ?
register int v = 0;
v...
x = 1
i expect the answer to be 11, but it comes out to be 12.
...
Our class was asked this question by the C programming prof:
You are given the code:
int x=1;
printf("%d",++x,x+1);
What output will it always produce ?
Most students said undefined behavior. Can anyone help me understand why it is so?
Thanks for the edit and the answers but I'm still confused.
...
Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc)
int main()
{
int a=5,s;
s=++a + ++a;
printf("%d",a);
printf("%d",s);
}
output is 7 and 14
BUT
int main()
{
int a, s;
printf("Enter value of a");
scanf ("%d",&a);
s=++a + ++a;
printf("%d",a);
printf("%d",s);
}
input user give...
Hello
Once again, our best loved "i=i--" -like issues. In C99 we have:
6.5 Expressions #2: Between the previous and next sequence point an
object shall have its stored value
modified at most once
70) This paragraph renders
!!undefined!! statement expressions
such as
i = ++i + 1;
But for undefinded behavior there ca...
Hi, after reading about sequence points, I learned that i = ++i is undefined.
So how about this code:
int i;
int *p = &i;
int *q = &i;
*p = ++(*q); // that should also be undefined right?
Let's say if initialization of p and q depends on some (complicated) condition.
And they may be pointing to same object like in above ca...
int main()
{
int i=3;
(++i)++;
printf("%d",i);
}
This programs works with g++ compiler but not gcc.
If i write i++++ or ++i++ it doesn't work in cpp also.
I think there is difference between c-expression and c++-expression.
Can somebody explain about L-value and R-value ?
...
#include<stdio.h>
int main()
{
int i=7,j;
j=(i++,++i,j*i);
return 0;
}
j=(i++,++i,j*i);Is this well defined ? Let me clear my doubt.
...
Possible Duplicate:
C programming: is this undefined behavior?
#include<stdio.h>
main()
{
int i=5;
printf("%d%d%d",i,i++,++i);
}
my expected output is 556.
But when i executed it the result is 767.
how?
...
int val = 5;
printf("%d",++val++); //gives compilation error : '++' needs l-value
int *p = &val;
printf("%d",++*p++); //no error
Could someone explain these 2 cases? Thanks.
...
Why does the following compile in C++?
int phew = 53;
++++++++++phew ;
The same code fails in C, why?
...
Why ++x || ++y && ++z calculate ++x firstly?
However,Operator && is higher than ||?
...
I recently came along this method for swapping the values of two variables without using a third variable.
a^=b^=a^=b
But when I tried the above code on different compilers, I got different results, some gave correct results, some didn't.
Is anything terribly wrong with the code?
...
Will the right side of the expression get evaluated first or the left ?
void main ()
{
int i = 0 , a[3] ;
a[i] = i++;
printf ("%d",a[i]) ;
}
...
The C-faq says that the code:
int i = 7;
printf("%d\n", i++ * i++);
prints 49. Regardless of the order of evaluation, shouldn't it print 56?
When I ran this code on my Turbo C 3.0 compiler it gave me the output of 56. Why is there a contradiction?
...
Here is my function:
void abc(char *def, unsigned int w, unsigned int x, unsigned int y, unsigned int z)
{
printf("val 1 : %d\n", w);
printf("val 2 : %d\n", x);
printf("val 3 : %d\n", y);
printf("val 4 : %d\n", z);
}
and here is where I call this function:
unsigned int exp[4] = { 1, 2, 3, 4 };
unsigned short count = 0;
a...
Possible Duplicate:
How do we explain the result of the expression (++x)+(++x)+(++x)?
int i=2;
i = ++i + ++i + ++i;
Which is more correct? Java's result of 12 or C = 13. Or if not a matter of correctness, please elaborate. Thank you.
...
Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc)
What is the difference between i = ++i; and ++i; where i is an integer with value 10?
According to me both do the same job of incrementing i i.e after completion of both the expressions i =11.
...
Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc)
I am using Visual C++ 6.0 and facing trouble predicting the output of the following program:
int main(int argc,char **argv) {
int a;
int b;
a=1;
b = (++a) + (a++) + (a++);
printf("%d",b);
return 0;
}
...
We've been taught various syntax and told how to write definitions, but we've never written any code an ran it. What is the order that Scheme code runs in?
Thanks!
...