c:使用scanf()

时间:2018-01-16 20:36:39

标签: c for-loop scanf

我正在尝试读取一个输入整数列表,其中scanf()用空格分隔成一个数组,但每次传递负数时它都会中断。如何让它读取负数呢?

for (int i = 0; scanf("%u", &val)==1; i++)

stdin:

1 2 -4 5

它只会将1和2放入数组,然后停止读取其余的数字(我想是因为' - '?)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

使用%d说明符而不是%u,%u只需要无符号值。