0

当我尝试使用scanf

int main() {

    int x1,x2,x3,y1,y2,y3;

    printf("Enter 3 pairs of positive integers separated by spaces:\n");

    scanf("%u %u %u %u %u %u", &x1, &y1, &x2, &y2, &x3, &y3);

我让程序运行,就像输入一样。然后我输入了输入,但它打印了“输入 3 对......”并且什么也不做

这是为什么?

4

3 回答 3

1

也许您必须输入值;这是 的目标scanf

顺便说一句,您的程序包含未定义的行为:与指针%u不匹配。int在. %d_ %i_ printf另一种解决方案是将变量声明为unsigned int类型,以匹配printf格式。此外,您的源代码的一部分丢失了。

于 2012-11-04T16:05:03.653 回答
1

%u是无符号整数。%d或者%i是有符号整数。请注意这些quirksgotchasC 中的内容。请注意纠正格式说明符。

于 2012-11-04T16:06:26.767 回答
0

您可能会发现使用它fgets而不是scanf. eclipse 终端有点时髦。

参考这篇文章

于 2012-11-04T16:10:55.097 回答