R0 CREW

Ошибка при компиляции

Уважаемые форумчане. Помогите разобраться с примером из книги. Я начинающий и многое для меня пока не понятно. Книга: Эриксон “Хакинг - искусство эксплойта.” 2-ое издание. Там есть практический пример:

#include <stdio.h>
int main()
{
   int i;
   for(i=0; i < 10; i++)      // Цикл повторяется 10 раз.
   {
     printf(“Hello, world!\n”); // Вывести строку.
   }
   return 0;                  // Сообщить ОС, что программа завершилась без ошибок.
}

Но он у меня в программе Pelles C for Windows почему то не работает.
Пишет:
Building proba.obj.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: ‘\x201c’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier ‘"Hello’ (did you mean ‘_ftello’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2140: Type error in argument 1 to ‘printf’; expected ‘const char * restrict’ but found ‘int’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier ‘world’ (did you mean ‘ftell’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ‘)’ but found ‘!’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ‘;’ but found ‘!’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: ‘\x5c’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier ‘\n’ (did you mean ‘i’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: ‘\x201d’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ‘;’ but found ‘"’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier ‘"’ (did you mean ‘i’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ‘;’ but found ‘)’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2061: Invalid statement termination.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier ‘завершилась’ (did you mean ‘i’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2001: Syntax error: expected ‘;’ but found ‘без’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier ‘без’ (did you mean ‘i’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2001: Syntax error: expected ‘;’ but found ‘ошибок’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier ‘ошибок’ (did you mean ‘без’?).
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(11): error #2047: Expected a field name.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(11): error #2001: Syntax error: expected ‘;’ but found ‘}’.
*** Error code: 1 ***
Done.

Если я убираю значения int i; for (i=10; i<10; i++), то тогда работает.

В чём тут загвоздка? help

Такие ошибки возникают при копирование кода откуда-то. Лучше переписать код вручную.

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

Building proba.obj.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(5): error #2001: Syntax error: expected ‘(’ but found ‘i’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘)’ but found ‘;’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘)’ but found ‘;’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘;’ but found ‘)’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2061: Invalid statement termination.
*** Error code: 1 ***
Done.

  1. У нас есть тег HCODE которым следует обрамлять код.
  2. Тему желательно размешать в “Вопрос-Ответ”
  3. Элементарно Ватсон, кавычки русские, переключи клаву.

Совет: не копируй код, используй нормальные IDE, или на крайняк NotePad++ или SublimeText, они эту хрень отсекают еще на этапе написания кода.

Кавычки английские. Писал на английской раскладке.

У меня этот пашет, а твой не пашет, ибо строка не подсвечивается даже как строка.

#include <stdio.h>
int main()
{
   int i;
   for(i=0; i < 10; i++)      // Цикл повторяется 10 раз.
   {
		printf(“Hello, world!\n”); // Вывести строку.
   }
   return 0;                  // Сообщить ОС, что программа завершилась без ошибок.
}
#include <stdio.h>
int main ()
{
int i;
	for i;
	(i=10; i<10; i++)
{
printf ("Hello, World!\n");
	}
	return 0;
}

Вот это написано в ручную.

А это ответ программы:

Building proba.obj.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(5): error #2001: Syntax error: expected ‘(’ but found ‘i’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘)’ but found ‘;’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘)’ but found ‘;’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ‘;’ but found ‘)’.
C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2061: Invalid statement termination.
*** Error code: 1 ***
Done.

Возможно кодировка не та… Сегрей, вы в чём компилите?

Компилятор какой, в чем пишешь?

Pelles C for Windows

Это где смотреть нужно?

Попробуй действительно глянуть кодировки. Потому что оно не распознает кавычки.

Совет:попробуй DevCpp вроде как норм работает, и легкий. Я сам с него начинал, по совету сенсея.

Ну Я в SublimeText 3 смотрю. Кстати тоже очень советую к использованию, умеет кучу плюшек, плюс плагины.

Скачал, установил, пробую.

В данном случае у вас ошибка в коде. Опечатались возле начала цикла.

В этой тоже у меня не получается dash1

В этой тоже самое?

Компилятор: Default compiler
Building Makefile: “C:\Dev-Cpp\Makefile.win”
Выполнение make…
make.exe -f “C:\Dev-Cpp\Makefile.win” all
gcc.exe -c main2.c -o main2.o -I"C:/Dev-Cpp/include"

gcc.exe main2.o -o “proba.exe” -L"C:/Dev-Cpp/lib" -mwindows

gcc.exe: Internal error: Aborted (program collect2)
Please submit a full bug report.
See URL:http://www.mingw.org/bugs.shtml for instructions.

make.exe: *** [proba.exe] Error 1

Выполнение завершено

А может какие то преднастройки программы нужны? Или преднастройки нового проекта?

Будьте добры, тыкните пальцем, В чём опечатка?

Он же написал в начале цикла. Может тебе сперва стоит почитать книжки нацеленные на изучения языка, а не читать главы в которых вскользь упоминается оно.

Ну вот я скачал и установил Pelles С. создал файл, написал в нем следующий код

#include <stdio.h>

int main() {
	int i;

	for (i = 0; i < 10; i++) {
		printf("Hello, world!\n");
	}

	return 0;
}

Сохранил и запустил на выполнение (Ctrl+F5) и всё отлично собрало, запустилось и вывелось.