|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各位大佬我想请教一个问题,程序直接进入else,不进入if 或else if,
我输入 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;
- }
复制代码
|
|