vscode 用switch报错是什么原因啊?
vscode吧
全部回复
仅看楼主
level 1
#include <stdio.h>
int main(){ /* 家里有7个抱枕 周一:使用初音未来抱枕 周二:使用蕾姆抱枕 周三:使用安柏抱枕 周四:使用迪诺抱枕 周五:使用芭芭拉抱枕 周六:使用可莉抱枕 周日:使用丽莎抱枕 */
int day=2;
printf("请输入当前星期:\n");
//scanf("%d\n", &day);
switch (day)
{
case 1: printf("使用初音未来抱枕\n"); break;
case 2: printf("使用蕾姆抱枕\n"); break;
case 3: printf("使用安柏抱枕\n"); break;
case 4: printf("使用迪诺抱枕\n"); break;
case 5: printf("使用芭芭拉抱枕\n"); break;
case 6: printf("使用可莉抱枕\n"); break;
case 7: printf("使用丽莎抱枕\n"); break;
default: printf("输入错误\n"); break;
}
return 0;}
本来想用scanf定义day,但是要报错。就直接手动定义,结果在vc中可以运行,在vscode中要报错。请问一下报错的原因是啥啊,啥问题都是这个弹窗,vscode问题那个窗口又没有警告那些。
2024年03月08日 15点03分 1
level 1
两个main?哦,你那个目录下有两个c文件,编译器把它们一起编译了。
2024年03月09日 00点03分 2
好的,感谢。请问一下有什么办法解决吗?除了改不同的main名字
2024年03月09日 06点03分
@真的姓名嘛 c语言不是脚本,要整个工程一起编译链接。换言之,你要是想有多个main,那就必须是不同的工程。
2024年03月11日 06点03分
level 12
你的".vscode/tasks.json"文件里有个配置GCC如何编译源代码生成可执行文件的配置,你在里面设置的编译范围是"*.c",表示所有C源代码文件一起编译。这样就不能同时存在多个主函数
2024年03月11日 09点03分 3
你要修改这个配置文件,分别指定两个c文件为两个不同的编译任务,".vscode/launch.json"也要分开两个启动配置,这样才可以实现共存
2024年03月11日 09点03分
@真的姓名嘛 如果你会使用CMake/XMake这些项目管理工具,也可以用它们实现一个项目下多个可执行文件编译构建过程的区分
2024年03月11日 09点03分
好的,感谢
2024年03月13日 08点03分
1