为什么ANSI C不使用strrev
而不是创建如此大的反向函数?
此代码显示错误。请更正它。什么是错误。我正在使用Code :: Blocks
我收到错误消息:
C:\ PROGRAMFILES(x86)的\码块\ 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);
}
答案 0 :(得分:1)
您的代码没有入口点。您需要main
函数或WinMain
或其他内容。
http://mingw-starter.blogspot.com/2008/02/mingw-sdl.html说
另外,如果您的IDE没有自动添加(除了您要链接的其他库之外),请不要忘记添加-mwindows标志。如果你没有按正确的顺序排列它们,你会得到一个链接器错误,抱怨丢失的符号WinMain @ 16。