Possible Duplicate:
What is value of c, if c =a,b;
在以下问题中 int 变量的初始化如何工作:
main()
{
int i,j,k;
i=1,2;
j=(1,2);
k=(1,2),(3,4);
}
我需要能够描述编译器实际执行的操作。
最佳答案
逗号用作分隔符和运算符。 这三起案件处理如下: 第一:i=1,2;赋值比逗号(,) 具有更高的优先级,因此 i=1 被评估,即 i 被赋予值 1,然后 2 就被放在那里而没有任何使用。 第二:j=(1,2) 括号具有最高优先级,因此将首先评估其中的内容 (1,2) 将得到 2,因此 j 被分配值 2。 第三:k=(1,2),(3,4);这里 (1,2) 和 (3,4) 被评估为 2,4 然后它就像第一个表达式,即 k=2,4 所以 k 将被分配值 2。
希望这有帮助:D
关于C语言编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089294/