问题 单项选择题

若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后输出的结果为( )。
oh='b';
k=10;
printf("%x, %o,", ch, ch, k);
printf("k=%%d\n", k);

A.因变量类型与格式描述符的类型不匹配,输出无定值

B.输出项与格式描述符个数不符,输出为0值或不定值

C.62, 142, k=%d

D.62, 142, k=%10

答案

参考答案:C

解析: 第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%o”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或0);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。

多项选择题
问答题 简答题