以下程序片段( ) 。 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),构成逻辑表达式后,才符合程序设计的初衷。

int a=789 //标准的赋值语句,没什么好讲的

printf("%2d\n",a) //输出语句

这里%d格式的作用是以十进制整数的形式输出变量。 %2d表示输出的变量列宽为2。如果这里的列宽值小于实际变量列宽,输出时就会自动补全,即以实际为准。 如本题a的情况。 如果列宽值大于实际,就左端补空格。如:a=2 用 %5d输出。会的道:“2”,左边是四个空格


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存