|  | 
 
| 
各位大佬我想请教一个问题,程序直接进入else,不进入if 或else if,
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  我输入 add 12 14,然后回车程序直接进入else,然后打印输入格式错误!
 代码放下面了,不知道问题原因。
 
 
 复制代码#include<stdio.h>
int main()
{
        int num1,num2,num=2;
        char i[8]="";
        
        printf("输入格式例如,add 15 14,结果为29.\n");
        printf("请输入指令:");
        
        scanf("%s %d %d",i,&num1,&num2);
        
        printf("[%s %d %d]\n",i,num1,num2);
        
        if(i=="add")
        {
                num=num1+num2;        
                printf("结果为:%d\n",num);
        }
        else if(i=="sub")
        {
                num=num1-num2;        
                printf("结果为:%d\n",num);
        }
        else if(i=="mux")
        {
                num=num1*num2;        
                printf("结果为:%d\n",num);
        }
        else if(i=="dive")
        {
                num=num1/num2;        
                printf("结果为:%d\n",num);
        }
        else
        {
                printf("格式输入错误!\n");
        }
        
        
        
        return 0;
 } 
 本帖最后由 傻眼貓咪 于 2022-1-6 15:24 编辑 
复制代码#include <stdio.h>
#include <string.h>
int main()
{
        int a, b;
        char str[8];
        
        printf("输入格式例如, add 15 14,结果为 29。\n");
        printf("请输入指令:");
        
        scanf("%s%d%d", str, &a, &b);
        printf("[%s %d %d]\n", str, a, b);
        
        if(!strcmp(str, "add")) printf("结果为:%d\n", a+b);
        else if(!strcmp(str, "sub")) printf("结果为:%d\n", a-b);
        else if(!strcmp(str, "mult")) printf("结果为:%d\n", a*b);
        else if(!strcmp(str, "div")) printf("结果为:%.2f\n", (float)a/b);
        return 0;
}
 | 
 |