以下程序片段( ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(“***”); else printf(“###”); }

以下程序片段( ) 。 main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(“***”); else printf(“###”); },第1张

答案是B

因为C语言中"="是赋值号if(x=y+z)是计算出y+z的滚或值然后赋值给如迅x,这个式子是永远成立的,所以会输出***

如果说要改错的话,应该渣备此改为if(x==y+z),构成逻辑表达式后,才符合程序设计的初衷。

二级指针c的内存单元里放的是一级指针b的地址,而b里面又放的是变量a的地址。简含

*c就等价于指针变量b,**c就等价于*b,而*b就是变量a,拦橘笑所以**c的值就是变伍渣量a的值!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12356437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存