Попытка запустить hello world на C и вывод этой ошибки на Mac на VS : zsh: ошибка разбора рядом с»

#c

Вопрос:

Я пытаюсь запустить простую программу на языке Си — Hello World на VSC на моем mac. Это выдает эту ошибку каждый раз на экране вывода, пожалуйста, поймите, что я новичок в кодировании, и ну, вот и все.

Вот скриншот : Ошибка

 #include <stdio.h>

int main()
{

    printf("%s", "Hello World");
    return 0;
}
 

Вывод : zsh: ошибка синтаксического анализа рядом с»amp;amp;»

Комментарии:

1. Вы назвали свой файл #include <stdio.h>.c . Вместо этого вы должны назвать его как-то так hello.c

2. @thatotherguy: Даже в этом случае IDE не должна ломаться. Он должен передавать имя файла в кавычках zsh и формировать команды, в которых нет ошибок синтаксического анализа.

3. Ваша командная строка компиляции кажется запутанной. Вы используете строку включения из исходного кода в качестве аргумента командной строки, что, похоже, не то, что вам нужно. Ошибки являются результатом неправильных кавычек аргументов командной строки. Если ваш исходный файл имеет имя myfile.c , то вы хотите gcc myfile.c -o myfile .

4. Ваш код выглядит хорошо. Однако вы назвали свой файл #include <stdio.h>.c. Теперь там есть несколько зарезервированных символов, поэтому вам следует изменить имя файла.

Ответ №1:

Ваш исходный код сам по себе верен. Предполагая, что это единственный исходный код в вашем текущем проекте, проблема либо заключается в вашем непереносимом имени файла, либо в неправильно сконфигурированном или поврежденном компиляторе. Измените имя файла на то, что описывает содержащийся исходный код. Такое имя #include <stdio.h> файла не только затрудняет отладку, но даже не допускается в некоторых операционных системах. Хотя это, по-видимому, технически поддерживается в вашей реализации, это все равно может привести к неправильному поведению zsh.

Комментарии:

1. zsh является интерпретатором командной строки (оболочкой), а не компилятором. И, скорее всего, виновато программное обеспечение IDE.

2. @Eric Postpischil Ах, я вижу, я неправильно понял скриншот.

3. Нет, Адам совершенно прав с этим ответом. Хотя вы правы, Эрик, насчет «среда разработки должна уважать имя файла» — это явно не так, учитывая вывод, который мы видим с консоли на скриншоте.