一个小菜菜的C语言基础问题系列之二。

来源:百度知道 编辑:UC知道 时间:2024/05/19 00:13:54
#include "stdio.h"
void main()
{
int x,i,j,k;
x=(i=4,j=16,k=32);
printf("x=%d\n",x);
getch();
}
我以为结果是“x=4”,但实际上不是。
所以请问,在上述语句里,是如何进行运算的,为什么?最好详细说明下其中的过程。
首先getchar拼错了~~~~~
是32~~~
逗号是最低的优先级别最低的,且从右向左进行运算,所以先把4付给x,然后是16,最后是32
就是这样~~~~加油哦~~~~
回答者:zerogentle - 魔法学徒 一级 11-14 22:03
getch()是WINDOWS XP条件下暂停擦除屏幕的意思,否则程序会一闪而过。看来,你也是个菜菜呵。

,号语句的结果为最后的值即为32

这道题目考的是逗号运算符的用法:
x=(a,b);
相当于
x=a;
同理:
x=(a,b,c);
相当于
x=(b,c)=c;

首先getchar拼错了~~~~~
是32~~~
逗号是最低的优先级别最低的,且从右向左进行运算,所以先把4付给x,然后是16,最后是32
就是这样~~~~加油哦~~~~