1

为什么 ANSI C 不使用strrev而不是创建这么大的反向函数?

这段代码向我显示了一个错误。请改正。什么是错误。我正在使用代码::块

我收到的错误消息:

c:\programfiles(x86)\codeblocks\mingw\bin..\lib\gcc\mingw32\4.7.1......\libmingw32.a(main.o):main.c:(.text.startup +0xa7)||对`WinMain@16'的未定义引用|

#include <stdio.h>
#include <string.h>
#include <conio.h>

 void reverse(int n, char s[])
 {
     int c,i, j;

     for(i=0, j= strlen(s)-1; i<j; i++, j--){
         c=s[i];
         s[i]=s[j];
         s[j]=c;
     }
  }

 void itoa(int n, char s[])
 {
     int i=0 ,sign;

     if((sign=n) < 0 )
         n= -n;
     do{
         s[i++] = n%10 + '0';
     }while(n /=10 >0);

     if(sign <0)
         s[i++] = '-';

     s[i] = '\0';
     reverse(n, s);
 }
4

1 回答 1

1

您的代码没有入口点。你需要有一个main功能,WinMain或者什么。

http://mingw-starter.blogspot.com/2008/02/mingw-sdl.html

此外,如果您的 IDE 没有自动添加它(除了您要链接的任何其他库之外),请不要忘记添加 -mwindows 标志。如果你没有把它们按正确的顺序排列,你会得到一个链接器错误,抱怨缺少符号 WinMain@16。

于 2014-06-18T21:10:19.017 回答