下列程序段的输出结果是:

下列程序段的输出结果是:,第1张

输出结果为:-,0.0,0.0

下面是程序说明:

int

a=1234

float

b=123.456

double

c=12345.54321

上面只是简单的赋值,你应该能理解吧

printf("-,%2.1f,%2.1f",a,b,c)

//输出到屏幕

带%表示输出格式,

%2.1f

表示输出的数据是float类型的,2表示输出的数据一共两位,.1表示输出一位小数

除了%2.1f,其他的都会当作字符串输出,所以"-,就输出-,类

第一个%2.1f将a格式化输出,因为a=1234,一共有四位,所以格式化错误,输出0.0了

第一个%2.1f格式b,同样的原因,输出0.0

c找不到前面的格式化信息,所以就不输出了

如果有问题再联系我

答: B、1234

int x=1234

do { printf("%2d",x--) }while(!x)

do 循环,第一次是无条件进入,这时 x=1234。

进打印语句,输出参数 x--, 是后缀自减1,在表达式中 x 不变,保持 1234,打印出1234,出了表达式再减1成 1233。所以循环语句可以看成:

do {

printf("%2d",x)

x=x-1

}while(!x)

x=1233 大于 0 即真 等于 1。 所以 !x 等于 0, while 循环结束。

(输出格式 %2d 是 输出整型数占2位。但 c/c++语言 另有规定,当给的占位数不够数据用时,按数的实际需要 占位 输出。)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存