那个a=c++,b++;是什么意思?
4个回答
展开全部
这里用到的是逗号运算符,从左到右计算,赋值运算符比逗号运算符优先级高,所以这句可以看作:
a=c++;
b++;
那么,为什么输出是3呢?
首先从main()中的k=f(a++);知道k的值是f()函数的返回值,而从f()函数可以知道该函数的返回值始终是3,所以main()中输出的k的值就是3。
看这个f()函数的内部语句可以知道,每次运行f()函数,它的返回值都是由内部变量c得到的c++的值,而c++表示先取c的值赋予左边的变量a,然后再对c自己的值加1。所以无论输入形式参数a的值输入的时候是多少,返回值始终是3。
(如有帮助,烦请采纳,谢谢!)
a=c++;
b++;
那么,为什么输出是3呢?
首先从main()中的k=f(a++);知道k的值是f()函数的返回值,而从f()函数可以知道该函数的返回值始终是3,所以main()中输出的k的值就是3。
看这个f()函数的内部语句可以知道,每次运行f()函数,它的返回值都是由内部变量c得到的c++的值,而c++表示先取c的值赋予左边的变量a,然后再对c自己的值加1。所以无论输入形式参数a的值输入的时候是多少,返回值始终是3。
(如有帮助,烦请采纳,谢谢!)
展开全部
这里用到的是逗号运算符,从左到右计算
赋值运算符比逗号运算符优先级高
所以这句可以看作
a=c++;
b++;
赋值运算符比逗号运算符优先级高
所以这句可以看作
a=c++;
b++;
追问
那为什么答案是3啊?
追答
c++是先引用后加1
所以先把c的值赋给a然后c再加1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
豆号运算符 从左至右 这里a=c++ a=3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
赋值运算符比逗号运算符优先级高
所以这句可以看作
c++;
a=b++;
所以这句可以看作
c++;
a=b++;
追问
那为什么结果等于3?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询