回 帖 发 新 帖 刷新版面

主题:谁能帮我解释一下这个程序

#include <stdio.h>
main()
{ char *s={“ABC”};
  do 
    {printf(“%d”,*s%10); s++;
    } while(*s);
}
输出结果是567

回复列表 (共3个回复)

沙发

第一次循环:*s==A==65,所以*s%10==5;s++后s指向B;
第二次循环:*s==B==66,所以*s%10==6;s++后s指向C;
第三次循环:*s==C==67,所以*s%10==7;s++后s指向空操作;
此时*s==0,结束循环

板凳

像这种依赖于系统的字符集的程序我觉得都挺不靠谱的。在逻辑上就不严谨。

这已经不是语言的练习而是对本地字符集的练习了。

3 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册