本文介绍了解释代码片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 限时删除!! int main() { struct num { int x,y; } val [4] = {1,1,2,3,4,5,6,7}; struct num * ptr = val; int i = 0; for(; i< 4; i ++){ ptr-> x = ptr-> y,++ ptr ++ - > y; printf("%d,%d",val [i] .x,val [i] .y); } } 什么是, do in ptr-> x = ptr-> y,++ ptr ++ - > y; ? AK 解决方案 它让人感到困惑。查找逗号运算符在 你的C教科书或参考文件。 - Er ********* @sun.com 让人困惑。查找逗号运算符在 你的C课本或参考。 抱歉,先生,非常简单的问题。我在任何人之前得到了答案 张贴,很抱歉打扰你们。 我想这个程序正在证明运营商的优先级。 它显示 1.-具有比++更高的优先级,所以 ++ ptr ++ - > y 表示: ++(ptr-> y); ptr ++; 2.,具有最低优先级。所以 ptr-> x = ptr-> y,++ ptr ++ - > y; 的效果等于 ptr-> x = ptr-> y; ++ ptr ++ - > y; 虽然在内部,但它们是不同的。 int main(){struct num {int x,y;} val[4] = {1,1,2,3,4,5,6,7};struct num *ptr = val;int i=0;for(;i<4;i++) {ptr->x = ptr->y, ++ptr++->y;printf("%d,%d ", val[i].x, val[i].y);}}What does "," do in ptr->x = ptr->y, ++ptr++->y; ?AK 解决方案It confuses people. Look up "comma operator" inyour C textbook or reference.-- Er*********@sun.com It confuses people. Look up "comma operator" inyour C textbook or reference.Sorry sir, very trivial question. I got the answer before anyoneposted so sorry to disturb you all.I guess this program is demonstrating operator priorities.It shows1.-have higher priority than ++, so++ptr++->ymeans:++(ptr->y);ptr++;2. , have the lowest priority. So the effect ofptr->x = ptr->y,++ptr++->y;equals toptr->x = ptr->y;++ptr++->y;Though internally, they are different. 这篇关于解释代码片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 1403页,肝出来的..
09-07 03:07