【发布时间】:2017-09-03 17:23:24
【问题描述】:
我写了一个函数,它接收一个字符串作为一个 char 数组并将其转换为一个 int:
int makeNumFromString(char Str[])
{
int num = 0, len = 0;
int p;
len = strlen(Str);
for (p = 0; p<len; p++)
{
num = num * 10 + (Str[p] - 48);
}
return num;
}
问题是无论我输入的字符串有多长,当“p”达到10时,“num”的值就会变成垃圾!!! 我尝试在较大的代码之外调试和检查函数,但没有成功。
可能是什么问题,我该如何解决? 谢谢
【问题讨论】:
-
您的问题需要一个语言标签。请edit它并添加一个。