有以下程序: #include main() { char*s={"ABC"}; do {printf("%d",*s%10); s++: }while(*s); } 注

admin2020-11-27  19

问题 有以下程序:
    #include   
    main()
    {
    char*s={"ABC"};
    do
    {printf("%d",*s%10);
    s++:
    }while(*s);
    }
    注意:字母A的ASCII码值为65,程序运行后的结果是(    )。

选项 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’,’\0’对应ASCII值为0,即*s等于0,退出循环。因此,输出结果为567。
转载请注明原文地址:https://kaotiyun.com/show/da3p777K
0

最新回复(0)