Вам нужен один.Без него он некорректен и ведет к неопределенному поведению, которое может привести к чему-либо (даже к тому, что программа работает правильно).Кроме того, word[1]
может содержать только нулевой терминатор пустой строки, не более того, и это приведет к переполнению буфера, что также приведет к неопределенному поведению.Это должно быть:
int main(void) {
char word[10]; // or any value that is big enough for the input that your anticipating
scanf("%9s", &word[0]);
printf("%s", &word[0]);
return 0;
}
И, конечно, вы можете заменить &word[0]
на word
.
Также обратите внимание, что я поставил %9s
вместо %s
для scanf
вызов, что означает, что он получит не более 9
символов, что с добавленным нулевым терминатором вписывается в word[10]
, который мы имеем в качестве примера.Таким образом, вы не получите неопределенное поведение, если пользователь введет что-то слишком большое, а вместо этого просто урежет этот ввод.