プログラミング初心者なので、どなたか教えてください。結果変数の値が正しくないようです。cin
andを使用するほうがよいことはわかっていますcout
が、家庭教師からprintf
andを使用するように言われましたscanf
。
コードを printf("%d", result); に変更すると 取得します: 実行時チェックの失敗 #3 - 変数 '結果' が初期化されずに使用されています。コードを scanf("%c", &c); に変更すると、%c は最初の scanf() から空白を取得します!!! だから私はこのように書く必要があります scanf("%c%*c", &c); またはこのように scanf(" %c", &c);. %d または %f とは対照的に、%c は空白をスキップしないようです。
#include<stdio.h>
#include<conio.h>
int main ()
{
int n1, n2;
int result;
char c;
printf("Lotfan addad aval ra vared konid\n");
scanf("%d", &n1);
printf("Lotfan addad Dovom ra vared konid\n");
scanf("%d", &n2);
printf("Please choose an operator\n");
scanf("%c%*c", &c);
if (c=='+')
{
result=n1+n2;
}
else if (c=='-')
{
result=n1-n2;
}
else if (c=='*')
{
result=n1*n2;
}
else if (c=='/')
{
result=n1/n2;
}
//else
//{
//printf("error");
//}
//printf("%d%c%d=%d" ,n1,c,n2,&result);
printf("%d", &result);
getch();
return 0;
}