/ /スペースで区切られた数値を標準入力からリンクリストに読み込む-c、scanf、stdin

スペースで区切られた数字を標準入力からリンクリストに読み込む - c、scanf、stdin

スペースで区切られた数値を標準入力からcプログラムに読み込もうとしていますが、すべての数値でリンクリストにノードを追加しています。

stdinからの入力:

20
20 30 123 34 50

stdin(20)の最初の行は検索するためのものです番号20のアイテム。 2行目には、リンクリストに挿入するデータ項目が含まれます ループに入るとループは終了するはずですが、そうではなく、ここで何が欠けているのかわかりません。

  char follow;
scanf("%d", &M);
while(((count = scanf("%d%c", &element, &follow)) > 0))
{
if(count == 2 && isspace(follow) || count == 1)
{
printf("count = %d and element = %dn", count, element);
push(&root, element);
}
else{
break;
}
}

問題は、whileループがEnterキーを押しても終了しないということです。

回答:

回答№1は1

if条件を次のように変更します。

if ((count == 2 && isspace(follow) && follow != "n") || count == 1)

両方のスペース " " と改行 "n" 空きスペースです isspace それ自体では十分ではありません。