我的代码是用来获取分开的数字,事情是我已经看过很多教程,我不明白为什么它在我设置时运行:
p = "123 23 32"
out>>
123
23
32
0
0
但当我设置它等于字符数组它只找到第一个数字,事件虽然我“走”进p
指针:
#include<stdio.h>
int main()
{
int N, i=0, NUMERO = 1, FINAL = 0;
char ORDEM[100000], *p = ORDEM;
scanf("%s", ORDEM);
p = ORDEM;
for(i = 0; i<5; i = i + 1)
{
printf("%d\n", atoi(p));
while (*p != ' ') p++;
if (*p == ' ') p++;
if (*p == '\0') break;
}
return 0;
}
答案 0 :(得分:3)
scanf("%s", ORDEM);
scanf()
以空格字符分隔。因此ORDEM
在您的测试用例中仅包含"123"
。
要阅读整行,您应致电fgets()
。
fgets(ORDEM, 100000, stdin);