- C言語なら俺たちに聞け パート0001
517 :デフォルトの名無しさん[sage]:2016/09/02(金) 21:52:40.48 ID:96M6CE+e - >>512
scanf() の [...] 変換指定子なんて初めて見たよ。 調べたところ、以下のような動作をするみたいね。 scanf("%[^abc]", a); 配列aには a, b, c 以外の文字が入る (入力文字列の先頭から a か b か c の直前までをaに格納) 上の入力で配列aに格納されなかった分はバッファに残る scanf("%s", b); すでにバッファに入っている内容を配列bに格納して関数終了 (配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず) というわけで入力操作は、 a, b, c を含まない間は scanf("%[^abc]", a); が完了しない scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了
|