"int i = 1,2,3"和"int i =(1,2,3)"之间的区别 - 用逗号运算符进行变量声明

Rob*_*man 4 c

  1. int i=1,2,3;

  2. int i=(1,2,3);

  3. int i; i=1,2,3;

这些陈述有什么区别?我无法理解它.

Sha*_*ain 13

Statement 1 Result : Compile error.
Run Code Online (Sandbox Code Playgroud)

'='运算符的优先级高于','运算符.逗号在这里充当分隔符.编译器创建一个整数变量'i'并用'1'初始化它.编译器无法创建整数变量'2',因为'2'不是有效的indentifer.


Statement 2 Result: i=3
Run Code Online (Sandbox Code Playgroud)

'()'运算符的优先级高于'='.因此,首先评估括号运算符.'()'操作符从左到右操作.但它始终是最后一个被分配的结果.


Statement 3: Result: i=1
Run Code Online (Sandbox Code Playgroud)

'='运算符的优先级高于','运算符.所以'我'被'1'初始化.'2'和'3'只是常量表达.所以没有效果.

  • +1良好的exaplanation.我要删除我的答案. (3认同)

归档时间:

查看次数:

9191 次

最近记录:

10 年,3 月 前