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ます。日食端末は少しファンキーです。

この投稿を参照してください

于 2012-11-04T16:10:55.097 に答える