Я изучаю C прямо сейчас, и я скопировал этот маленький фрагмент прямо из книги, которую я использую. Когда он запускается, происходит сбой, и я не могу понять, почему, я запустил его через gdb, и он останавливается на строке 9 scanf ("% s", aName); но печать значений переменных не вызывает ничего подозрительного. Что не так с этой штукой?
#include <stdio.h>
int nameLength(char[]);
main () {
char aName[20] = {'\0'};
printf("\nEnter your first name: ");
scanf('%s', aName);
printf("\nYour first name contains %d letters.", nameLength(aName));
}
int nameLength(char name[]) {
int result = 0;
while (name[result] != '\0') {
result++;
}
return result;
}
edit: я забыл упомянуть, он даже не отображал подсказку и не позволял мне вводить имя. он сразу разбился после выполнения.