Итоа с использованием обратного (строкового) кода, показывающего ошибку

Почему ANSI C не использует strrev вместо создания такой большой обратной функции?

Этот код показывает мне ошибку. Пожалуйста, исправьте это. В чем ошибка. Я использую Code::Blocks

Сообщение об ошибке, которое я получаю:

C: \ ProgramFiles(x86)\ CodeBlocks\ MinGW \ Bin.. \ Lib \ НКУ \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);
 }

1 ответ

Решение

Ваш код не имеет точки входа. Вам нужно иметь main функция или WinMain или что-то.

http://mingw-starter.blogspot.com/2008/02/mingw-sdl.html говорит

Также не забудьте добавить флаг -mwindows, если ваша IDE не добавляет его автоматически (в дополнение к другим библиотекам, которые вы хотите связать). Если вы не разместите их в правильном порядке, вы получите ошибку компоновщика с жалобой на отсутствующий символ WinMain@16.

Другие вопросы по тегам