问题 单项选择题

已知字母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。

单项选择题
单项选择题