Visual studio 2008 Visual Studio 2008中Win 32上的C程序中未解决的外部问题
为什么这个C程序不编译,错误消息是什么意思:Visual studio 2008 Visual Studio 2008中Win 32上的C程序中未解决的外部问题,visual-studio-2008,unresolved-external,Visual Studio 2008,Unresolved External,为什么这个C程序不编译,错误消息是什么意思: #include <stdio.h> int main() { char op = ' '; char cont = ' '; int tal1 = 0; int tal2 = 0; int result; int ok = 1; printf("Welcome\n"); do { printf("Which one (+ - * /)? ");
#include <stdio.h>
int main() {
char op = ' ';
char cont = ' ';
int tal1 = 0;
int tal2 = 0;
int result;
int ok = 1;
printf("Welcome\n");
do {
printf("Which one (+ - * /)? ");
scanf("%c", &op); fflush(stdin);
printf("Number?: ");
scanf("%d", &tal1); fflush(stdin);
printf("Number: ");
scanf("%d", &tal2); fflush(stdin);
ok=1;
switch(op){
case '+':
result=tal1+tal2;
break;
case '-':
result=tal1-tal2;
break;
case '*':
result=tal1*tal2;
break;
case '/':
result=tal1/tal2;
break;
default:
printf("Wrong\n");
ok=0;
break;
}
if(ok)
printf("Answer: %d\n", result);
printf("Continue? (j/n)"); fflush(stdin);
}while (cont == 'j');
printf("Thanks!\n");
return 0;
}
#包括
int main(){
char op='';
char cont='';
int tal1=0;
int tal2=0;
int结果;
int ok=1;
printf(“欢迎\n”);
做{
printf(“哪一个(+-*/)?”;
scanf(“%c”,&op);fflush(标准输入法);
printf(“编号:”);
scanf(“%d”和&tal1);fflush(stdin);
printf(“编号:”);
scanf(“%d”和&tal2);fflush(stdin);
ok=1;
开关(op){
格“+”:
结果=tal1+tal2;
打破
案例'-':
结果=tal1-tal2;
打破
案例“*”:
结果=tal1*tal2;
打破
案例“/”:
结果=tal1/tal2;
打破
违约:
printf(“错误的\n”);
ok=0;
打破
}
如果(确定)
printf(“答案:%d\n”,结果);
printf(“继续”(j/n)”;fflush(标准格式);
}而(cont='j');
printf(“谢谢!\n”);
返回0;
}
错误混乱:
错误4错误LNK2019:未解析的外部符号_WinMain@16在函数uuu_uutmaincrtstartup msvcrdt.lib中引用
错误5致命错误LNK1120:1未解析的外部检查链接器设置(p项目属性->链接器->系统)
子系统属性应设置为控制台您正在编译Windows(win32)应用程序,但具有main()函数而不是WinMain() 您应该将项目的类型更改为某种控制台应用程序(不记得确切的名称),或者阅读有关编写Windows应用程序的内容 问题是win32应用程序使用WinMain()作为其主函数,并在其中实现消息循环。因此,当您试图在不定义WinMain()函数的情况下编译win32应用程序时,编译器会抱怨这一点。如果编写控制台应用程序而不提供main()函数,也会发生类似的情况