2016-12-09 7 views
-3
#include <stdio.h> 
int main (void) 
{ 
int hist,geo,phy,chem,bio; 

int credits=0; 


printf("Enter marks in history : "); 
scanf("%d",&hist); 

if(hist>40) 
credits =10; 
else 
printf("No credits awarded for history"); 
printf("Credits obtained is %d",&credits); 




return(0); 

} 

となり、変数 'Credits'に230586という値が得られます。助けてください。私はCの初心者です私はコードを実行すると変数 'クレジット'の値が

+0

住所を印刷していますので... –

+0

あなたはクレジットの住所を印刷しています(間違っています)。 –

+0

使用している機能のドキュメントをお読みください。また、警告は無視しないでください。ただし、警告を適切に有効にすることで対処します。あなたのコンパイラがまだ警告しない場合は、最新のコンパイラを入手してください。 'printf("%d "、...)'はポインタをとらない! – Olaf

答えて

1

&xは、 "変数xのアドレスは何ですか?" 、それがあなたが奇妙な数字を得る理由です。変数値を印刷するには、&creditsの代わりにcreditsprintf関数に渡してください。

printf("Credits obtained is %d", credits); 
+0

ただprintf(クレジット);プログラムを停止します – user3934169

+1

フルフォーマットを使用してください:printf( "得られたクレジットは%d"、クレジット); –

関連する問題