-4

この基本的なコードが間違った値を返すのはなぜですか? 私はプログラミングに比較的慣れていないので、なぜこの基本機能が機能しないのか理解できません。私はこのプログラムの動作バージョンを持っているので、問題がわかりません。

#include <stdio.h>
int main (void)
{

int fahrenheit;

printf("Enter the temperature in degrees fahrenheit:\n");
scanf("%d", &fahrenheit);
printf("\n%d \n", &fahrenheit);
system("PAUSE");

return 0;

}

出力:

Enter the temperature in degrees fahrenheit:
53

2686788
Press any key to continue . . .
4

2 に答える 2

10

printfのような変数へのポインターを期待していませんscanf。データを期待しています。

試すprintf("\n%d \n", fahrenheit);

于 2013-09-03T00:15:55.227 に答える
4

printf 行の & を外すだけです。

変化する:

printf("\n%d \n", &fahrenheit);

に:

printf("\n%d \n", fahrenheit);
于 2013-09-03T00:16:45.027 に答える