主题:谁能帮我解释一下这个程序
wudaoyuanze
[专家分:0] 发布于 2010-08-22 09:40:00
#include <stdio.h>
main()
{ char *s={“ABC”};
do
{printf(“%d”,*s%10); s++;
} while(*s);
}
输出结果是567
回复列表 (共3个回复)
沙发
Screenager [专家分:840] 发布于 2010-08-22 11:18:00
第一次循环:*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,结束循环
板凳
bombless [专家分:50] 发布于 2010-08-22 15:05:00
像这种依赖于系统的字符集的程序我觉得都挺不靠谱的。在逻辑上就不严谨。
这已经不是语言的练习而是对本地字符集的练习了。
3 楼
moke9 [专家分:30] 发布于 2010-09-02 07:16:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
我来回复