我正在尝试输入一系列数字(例如
123456789
),然后逐个输出每个数字(例如1, 2, 3, ... , 9
)。但是,在数字9之后,也就是str[9]
之后,输出值会变成随机数字,例如-48, 32, 9, -112
。我该如何确保输出数字停止于9,因为我输入的最后一个数字是9?#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int n,num[100];
scanf("%s", str);
for(n=0;n<100;n++)
{
num[n] = str[n] - '0';
printf("%d\n", num[n]);
}
return 0;
}
str[n] == 0
时停止你的循环。 - M.Mn<100
-->n<100 && str[n]
。另外,str[8]
是'9'
。 - BLUEPIXY