printf()输出中的%d分别代表a和b的值,
你的程序貌似编错了,应宏嫌该为
printf("a=%d,b=%d\n",a,b)厅贺
输出的结果为a=2,b=5
输出结果为:26在main()函数中,将变量a的地址传递给函数prty()的形参x,则*x的值就是a的值,即25
++*x,指针运算符的优掘掘先级高于前缀++,因此等价于++(*x),即*x的值先自增卖绝加1,变成26,因此中散姿输出的结果为26。
该程序的输出结果是:11 1 2 1
解析如下:
首先分键渗析第一个表达式:x = -3 + 4 * 5 - 6,根颤态据运算符的优先级,先计算乘法,然后是加法和减法,所以 x = -3 + 20 - 6 = 11。
接着分析第二个表达式:x = 3 + 4 % 5 - 6,% 运算符的优先级高于加减法,所以先计算 4 % 5,结果为 4,稿洞脊然后再计算加法和减法,所以 x = 3 + 4 - 6 = 1。
再分析第三个表达式:x = -3 * 4 % -6 / 5,先计算乘法和取模运算,然后再计算除法,所以 x = (-12) % (-6) / 5 = -2 / 5 = 0(注意负数的取模运算)。
最后分析第四个表达式:x = (7 + 6) % 5 / 2,先计算括号内的加法,然后计算取模和除法,所以 x = 13 % 5 / 2 = 3 / 2 = 1。注意取模运算的结果为非负数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)