【发布时间】:2021-02-23 06:34:33
【问题描述】:
我试图在字符串中获取一个用空格分隔的整数,我期望的示例输入和输出是:
i : word 1
o : 1
i : word 20
o : 20
我试过这样做:
scanf("word %d", &num);
但它不起作用。
我也试过这个:
scanf("%[^/]*c%d", &num);
或
scanf("%[^/] %d", &num);
但是,它们都不起作用。谁能给我一个关于如何做到这一点的提示?谢谢
注意:输出整数前面没有空格。
完整代码:
int t, num;
char word[1000];
int arr[100], arr2[100];
fgets(word, 1000, stdin);
scanf("%d", &t);
while(t--){
scanf("word %d", &num);
printf("%d\n", num);
}
正如您在上面的示例代码中看到的那样,在输入num 之前,我还接受了更多输入。
【问题讨论】:
-
由于它们是不同的编程语言,您尝试使用 C 或 C++ 获得解决方案?
-
是C语言的,抱歉没提
-
第一个代码应该可以工作。
-
if(scanf("%*s%d", &number) == 1) { ... } -
@WeatherVane 代码示例在该短语之上,是的,它不适用于经过 OP 测试的解决方案,所以我认为它现在已经完成了。