【发布时间】:2014-11-23 07:41:33
【问题描述】:
非常简单,我正在尝试对命令行中输入的所有整数求和。总和实际上有效,如果我以“ 1 1 1 1 ”输入启动程序,总和将增加四倍。问题是 sum 被初始化为一个非常大的数字(4293283588)。这是为什么呢?
int main(int argc, char*argv[])
{
int a = 0;
int sum = 0;
size_t i = 0;
for (i=0; i<argc; i++)
{
a = atoi(argv[i]);
sum = sum + a;
printf("%ld\n", sum);
}
return 0;
}
【问题讨论】:
-
能看到
notAtoi的函数定义吗? -
我的错,功能和atoi一样
-
i=0-->i=1int sum = 0;-->long sum = 0; -
嘿Broaj,请不要在没有很好的理由的情况下删除您的问题,例如this one。如果再次发生这种行为,您可能会被禁止访问该网站。
标签: c command-line atoi argc