C语言 请帮忙详细解释下x++和++x#include int x = 1;int f(int x){ return (x++);}main(){ int y; y = f(2); x = f(x); printf("y=%d x=%d\n",y,x);}运行结果是2,1有点搞不懂return(x++)到底是要返回什么值啊?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/25 12:49:11
C语言 请帮忙详细解释下x++和++x#include int x = 1;int f(int x){ return (x++);}main(){ int y; y = f(2); x = f(x); printf(
xRJQ!1{7zq1&VR ]Dɤ%2OB{αɨ 豗^k_k& S㉶tDWy&+j4#zߘd V"9+Q7w[(Ƒ$8"0Mv<S@z7Q`j20U h IJ[HzpC)MGeZ/vj_oWL.׬αp'6U6ԬnusD7Ic_ʺsم3"g f1m AҜWwӂh(yMs>-y:>i%Cc۸ ͌,$"d= XV fl/)p =:Ҽ(ʮ꼔׭5U/J_ ˱cե!La}74

C语言 请帮忙详细解释下x++和++x#include int x = 1;int f(int x){ return (x++);}main(){ int y; y = f(2); x = f(x); printf("y=%d x=%d\n",y,x);}运行结果是2,1有点搞不懂return(x++)到底是要返回什么值啊?
C语言 请帮忙详细解释下x++和++x
#include
int x = 1;
int f(int x)
{
return (x++);
}
main()
{
int y;
y = f(2);
x = f(x);
printf("y=%d x=%d\n",y,x);
}
运行结果是2,1
有点搞不懂return(x++)到底是要返回什么值啊?

C语言 请帮忙详细解释下x++和++x#include int x = 1;int f(int x){ return (x++);}main(){ int y; y = f(2); x = f(x); printf("y=%d x=%d\n",y,x);}运行结果是2,1有点搞不懂return(x++)到底是要返回什么值啊?
x++:先赋值在自加,表达式的值为x,而x的值加1,比如b=5,a=b++,那么a=5,b=6;
++x:先自加后赋值,表达式的值为x加1后的值,x自身加1.比如b=5,a=++b,那么a=6,b=6;
所以你f()函数返回的是x的值,不是加1后的;