2017-02-04 1 views
-6

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

#include <stdio.h> 
    int main() 
    { 
     char word[]="CS311CS312CS313"; 
    printf("%s" , *word); 
    return 0; 
    } 
+1

'printf ("% s ", * word);' -> 'printf ("% s ", word);' или 'printf ("% c ", * word);' – BLUEPIXY

+4

Включить предупреждения компилятора, он должен был сказать вам, что строка 'printf()' неверна. – Barmar

+0

он сказал код сегментации дамп .. – Ahsan

ответ

4

Используйте этот

printf("%s" , word); 

вместо

printf("%s" , *word); 

Поскольку *word будет значение при word[0] которая является символом. Однако printf ищет массив символов, тем самым вызывая его segfault. Строки - это просто массивы символов, заканчивающиеся на '\0'.

+0

почему нет никаких выходов, используя *, поскольку я должен был проверить перспективу указателя – Ahsan

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