scanf関数でuserNumberへの参照を省略した場合、このプログラムが機能しなくなるのはなぜですか?scanf()の変数への参照を省略すると、プログラムの動作が停止します。どうしてこれなの?
#include <stdio.h>
int main()
{
int userNumber;
printf("Enter a number: ");
scanf("%d", &userNumber);
while (userNumber != 10)
{
printf("\nWrong number. Try again\n");
printf("\nEnter a number: ");
scanf("%d", &userNumber);
}
return 0;
}
*を? –
'scanf("%d ");'と書くだけであれば**これは**未定義の動作です**。言語には、各変換指定子の結果を受け取るためのパラメータが必要です。 –
サイドノート:Cは参照をサポートしていません。 'scanf'へのポインタを渡します。 – Olaf