|
1鱼币
- #include <stdio.h>
- int main()
- {
- int a = 3, 5;
- printf("a = %d\n", a);
- return 0;
- }
复制代码
怎么证明 a 等于 表达式 N 的值。 图片里a = 3, 5; a的值是5么?
我 int a = 3, 5;是报错的。。。。。。
- #include <stdio.h>
- int main()
- {
- int a = (3, 5); //这里要加括号
- printf("a = %d\n", a);
- return 0;
- }
复制代码
因为逗号运算符优先级很低,比赋值还低,那么先是赋值再是逗号运算符。a先取了3,剩下,5。因为没有定义变量,所以逗号运算符就被系统认为是分隔符,所以就像小甲鱼老师说的变成了a = 3; 5; 就是因为这样定义了一个常量,所以编译器会出错。要想先逗号运算符就要加上()。
加了()后程序的结果是5,无论逗号运算符多少个值,a还是取最后的那个值(这句话看备忘录截图有提到的) 
|
最佳答案
查看完整内容
因为逗号运算符优先级很低,比赋值还低,那么先是赋值再是逗号运算符。a先取了3,剩下,5。因为没有定义变量,所以逗号运算符就被系统认为是分隔符,所以就像小甲鱼老师说的变成了a = 3; 5; 就是因为这样定义了一个常量,所以编译器会出错。要想先逗号运算符就要加上()。
加了()后程序的结果是5,无论逗号运算符多少个值,a还是取最后的那个值(这句话看备忘录截图有提到的)
|