c语言题详解

[复制链接]
查看11 | 回复2 | 2009-2-22 19:46:43 | 显示全部楼层 |阅读模式
下列程序
main(int argc,char*argv[])
{int n=0,i;
for(i=1;i<argc;i++)n=n*10+*argv-'\0';
printf('%d\n",n)
}
编译连接生成可执行文件tt.exe,若运行时输入
tt12345678
输出结果是136
求教高人详细解题过程。

回复

使用道具 举报

千问 | 2009-2-22 19:46:43 | 显示全部楼层
argc=4 argv[]={"tt","12","345","678"}*argv[1],[2],[3]就指向 ‘\1' ,‘\3’,‘\6'共循环3次每次 *argv与字符0相减依次位N=0+1=1
N=10+3=13
N=130+6=136...
回复

使用道具 举报

千问 | 2009-2-22 19:46:43 | 显示全部楼层
为什么循环是三次argc从哪里知道是4...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行