问题 单项选择题

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

单项选择题
单项选择题