大佬教程收集整理的这篇文章主要介绍了它是C语句的声明和初始化语句中的逗号运算符吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果是这样,他们是否在此代码中使用逗号运算符?
int a=1,b=a+1,c=b+a+1,d=c+b+a+1;
我很确定它会起作用.但是如果它们不是逗号运算符并且不保证从左到右的顺序,则上述语句可能会失败,对吧?
但是,每个声明符都以其后面的逗号或分号完成,因此问题中的变量定义是完全定义的行为.当它暗示从无法保证从左到右的评价时,引用是不正确的 – 虽然它是@L_607_2@精巧的语言剖析.如果逗号是逗号运算符,则该事实将保证从左到右的评估;因为它们不是逗号运算符,所以从左到右的保证不会出现在逗号运算符的定义中.但是,因为每个声明符后面都有序列点,所以从左到右的估值是单独保证的.
在标准中找到正确的措辞来证明这种说法是比我预期的更难.它实际上是关于声明者的部分.
序列点至关重要;这意味着在继续之前,左边的所有内容都得到了充分评估,副作用已经完成;它意味着从左到右排序,因此问题中的初始化是完全定义的.
序列点在完整的声明符之后,而不是初始化器,这有点奇怪;不过,我认为这不重要.
以上是大佬教程为你收集整理的它是C语句的声明和初始化语句中的逗号运算符吗?全部内容,希望文章能够帮你解决它是C语句的声明和初始化语句中的逗号运算符吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。