一連の数字(つまり123456789
)を入力し、一度に1つずつ出力する(つまり、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 ' –
' N <100' --> 'N <100 && STR [N]'。 'str [8]'は '' 9 ''です。 – BLUEPIXY
うわー、それはそれがすべてだった。ありがとう! –