C语言编程问题

标签 c

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/

相关文章:

c - C中的循环问题

c - 如何将时间(NULL)生成的随机种子存储在文本文件中?

c++ - 如何读取/重定向 dos 命令的输出到 C/C++ 中的程序变量?

c - 如何在 OSX 上的 C 程序中处理(推测的)UTF-8 字符串

c - 如何使用 C 中的指针来显示每个字母在数组中出现的次数?

c - 如何逐位读取 "char abc[10]"并检查哪一位被设置?

c - c中的移位乘法不使用2的幂

c - 如何将焦点从 clutter_stage 转移到 clutter_actor?

c - 链表未被修改

c - execv() 无法正常工作