C “赋值从指针生成整数,无需强制转换-wint转换”

C “赋值从指针生成整数,无需强制转换-wint转换”,c,syntax-error,C,Syntax Error,我不熟悉c语言,我想做一个计算器,所以我写了以下代码: #include<stdio.h> void main() { int x,y,z; char m; printf("enter the first number"); scanf("%d",&x); printf("enter the second number"); scanf("%d",&y); printf("enter the math opera

我不熟悉c语言,我想做一个计算器,所以我写了以下代码:

#include<stdio.h>
void main()
{
    int x,y,z;
    char m;
    printf("enter the first number");
    scanf("%d",&x);
    printf("enter the second number");
    scanf("%d",&y);
    printf("enter the math operator");
    scanf("%c",&m);
if (m == '+')
{
    z=x+y;
    printf("the answer is %d",z);

}
else if(m == '-')
{
    z=x-y;
    printf("the answer is %d",z);
}
else
{
    printf("wrong symbol");
}
    }

它将直接进入

else
    {
        printf("wrong symbol");
    }
它显示如下:
请提供帮助。

您只需要刷新流条目stdin,因为在调用scanf%c,&m;时,stdin中仍有一些字符;。由于它只查找一个字符。。。它直接获取stdin'\n'中已存在的第一个字符

在调用scanf之前插入此可移植代码以刷新stdin:

int c;
while((c = getchar()) != '\n' && c != EOF);

希望这有帮助

标题与代码完全无关,没有真正的问题。请阅读和。@C_Elegans我同意,但这个问题应该结束,因为不清楚你在问什么。
else
    {
        printf("wrong symbol");
    }
int c;
while((c = getchar()) != '\n' && c != EOF);