问题
单项选择题
已知字母A的ASCII码值为65。以下程序运行后的输出结果是 #include<stdio.h> main(){ char *s={"ABC"}; do { printf("%d", *s%10); s++; }while(*s); }
A.5670
B.656667
C.567
D.ABC
答案
参考答案:C
解析: 每进行一次循环,将输出s指向字母的ASCII码值除以10的余数。字符A的ASCII码值是65,第一次输出65%10的余数5,执行s++后,指针指向字母B;第二次输出66%10的余数6,执行s++后,指针指向字母c;第三次输出67%10的余数7,执行s++后,指针指向串结束标志“\0”。此时,*s等于0,退出循环。因此,输出结果为567。