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/04/28 07:14:57

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后的;