有以下程序: #include<stdio.h> main( ) { char *s=″12134″; int k=0,a=0; while(s[k+1]) { k+ +; if(k%2= =0) { a=a+(s[k]—′0′+1); continue;

admin2019-04-14  27

问题 有以下程序:
#include<stdio.h>
main( )
{
char *s=″12134″;
int k=0,a=0;
while(s[k+1])
{
k+ +;
if(k%2= =0)
{
a=a+(s[k]—′0′+1);
continue;
}
a=a+(s[k]—′0′);
}
printf(″k=%d a=%d\n″,k,a);
}
程序运行后的输出结果是(    )。

选项 A、k=5 a=15
B、k=4 a=12
C、k=6 a=11
D、k=3 a=14

答案B

解析 当k=0时,执行while一次,得到k=1,a为2;当k=1时,执行while一次,得到k=2,a为4;当k=2时,执行while一次,得到k=3,a为7;当k=3时,执行while一次,得到k=4,a为12。故B选项正确。
转载请注明原文地址:https://jikaoti.com/ti/R8f0FFFM
0

最新回复(0)