牛肉我刚开始 发表于 2022-4-24 08:39:33

没有错误和警告但是为什么运行不出来结果?

#include <stdio.h>
float add(float x,float y);
float sub(float x,float y);
float cheng(float x,float y);
float chu(float x,float y);
void main()
{
float x,y;
char c;
printf("请输入两个数及他们的运算符号:\n");
scanf("%f%f%c",&x,&y,&c);
if(y==0)
printf("error");
else
switch(c)
{
    case '+':printf("%f",add(x,y));break;
    case '-':printf("%f",sub(x,y));break;
    case '*':printf("%f",cheng(x,y));break;
    case '/':printf("%f",chu(x,y));break;
}
}
float add(float x,float y)
{
float z;
z=x*y;
return z;
}
float sub(float x,float y)
{
floatz;
z=x-y;
return z;
}
float cheng(float x,float y)
{
float z;
z=x*y;
return z;
}
float chu(float x,float y)
{
float z;
z=x/y;
return z;
}

傻眼貓咪 发表于 2022-4-24 09:09:47

#include <stdio.h>

float add(float x, float y);
float sub(float x, float y);
float cheng(float x, float y);
float chu(float x, float y);

int main() // <-------------- 注意这里,是 int main() --------------
{
    float x, y;
    char c;
    printf("请输入两个数及他们的运算符号:\n");
    scanf("%f%f %c", &x, &y, &c);// <-------------- 注意这里,%f%f空格%c --------------
    if (y == 0)
      printf("error");
    else
      switch (c)
      {
      case '+':printf("%f", add(x, y)); break;
      case '-':printf("%f", sub(x, y)); break;
      case '*':printf("%f", cheng(x, y)); break;
      case '/':printf("%f", chu(x, y)); break;
      }
}
float add(float x, float y)
{
    float z;
    z = x + y;// <-------------- 注意这里,是加法 z = x + y --------------
    return z;
}
float sub(float x, float y)
{
    floatz;
    z = x - y;
    return z;
}
float cheng(float x, float y)
{
    float z;
    z = x * y;
    return z;
}
float chu(float x, float y)
{
    float z;
    z = x / y;
    return z;
}
页: [1]
查看完整版本: 没有错误和警告但是为什么运行不出来结果?