#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. Нет, Адам совершенно прав с этим ответом. Хотя вы правы, Эрик, насчет «среда разработки должна уважать имя файла» — это явно не так, учитывая вывод, который мы видим с консоли на скриншоте.