在Linux系统的vi编译器中运行#include <stdio.h> int main(){ double num1, num2, result; char op; printf("请输入要进行的运算符(+、-、*、/):"); scanf("%c", &op); printf("请输入两个数字:"); scanf("%lf %lf", &num1, &num2); switch(op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': if (num2 == 0) { printf("错误:除数不能为0!\n"); return 1; } else { result = num1 / num2; } break; default: printf("错误:无效的运算符!\n"); return 1; } printf("结果为:%.2lf\n", result); return 0; }报错./test.c:行2: 未预期的符号“(”附近有语法错误 ./test.c:行2: `int main(){'
时间: 2024-02-06 15:02:59 浏览: 61
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
在vi编译器中,您提供的代码存在语法错误,原因是您在#include <stdio.h>之后没有添加换行符。在C语言中,每个语句应该占用一行,并且在语句之间应该有一个换行符。
您可以将代码修改为以下形式:
```
#include <stdio.h>
int main() {
double num1, num2, result;
char op;
printf("请输入要进行的运算符(+、-、*、/):");
scanf("%c", &op);
printf("请输入两个数字:");
scanf("%lf %lf", &num1, &num2);
switch(op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
printf("错误:除数不能为0!\n");
return 1;
} else {
result = num1 / num2;
}
break;
default:
printf("错误:无效的运算符!\n");
return 1;
}
printf("结果为:%.2lf\n", result);
return 0;
}
```
在修改后的代码中,每个语句都占用了一行,并且在语句之间添加了换行符。这样就可以避免出现未预期的符号和语法错误了。
阅读全文