2012-04-05 3 views
1

Мне хотелось узнать C, поэтому я решил начать проект C и попробовать каноническое «Привет, мир!». программы в Visual Studio.My C "Привет, мир!" программа не компилируется

Так что я положил этот код в

#import <stdio.h> 

main() 
{ 
    printf("Hello, world!"); 
} 

и получил три ошибки:

IntelliSense: невозможно открыть исходный файл "C: /.../ stdio.tlh"
IntelliSense: идентификатор «printf» не определен
IntelliSense: предупреждение PCH: не удается найти подходящее место остановки заголовка. Не был создан файл PCH intellisense .

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

Я уверен, что это кажется действительно основной проблемой, но я до сих пор не использовал C, поэтому я застрял и не знаю, что делать. Что я делаю неправильно и как это исправить?

+3

Возможно, вам стоит взять хорошую книгу и выбросить какой-либо источник, который вы используете в данный момент. –

+0

#import Objective-C :) Вы не можете оттянуть это стандартным препроцессором C. –

+1

@KerrekSB Это не ошибка какого-либо источника, просто глупая ошибка с моей стороны - другие языки, которые я использовал, всегда использовали 'import' –

ответ

8

#import должно быть #include.

+0

Вау, это было даже проще, чем я ожидал. Благодарю. –

2

Вы должны использовать #include вместо #import

4

Пара точек, которые другие не указывали:

  1. основной() должен возвращать INT
  2. Ваш строковый литерал аргумент Printf должен иметь новая линия.
+0

# 1 - не нужно # 2 - почему? – KevinDTimm

+2

@KevinDTimm - стандарт C требует этого. Чтобы уточнить, я не говорил, что основная функция должна иметь оператор return, такой как «return 0;», скорее, я говорил, что C стандартная устаревшая неявная отдача int много лет назад. Код OP не дал спецификации возврата для основного. Взгляните на http://www.comeaucomputing.com/techtalk/#voidmain Если в строковом литерале для printf нет новой строки, вывод не будет очищен. Наконец, ОП указала, что он учится C. Точки не были направлены на то, чтобы код компилировался, а чтобы помочь получить его правильно. –

Смежные вопросы