Я новичок в C, и эта программа должна выводить usage: ./substitution key
, когда пользователь вводит ключ, который не является буквенным c. В случае, если длина ключа меньше 27 букв, должно выводиться сообщение о том, что длина ключа должна быть 26 букв. Первое сообщение об ошибке генерируется, если пользователь не вводит никаких данных. Отсутствие ввода работает и выводится действительное сообщение об ошибке. Однако, если я попытаюсь ввести другие данные, то есть добавить символы в массив, это покажет ошибку сегментации. Не могли бы вы мне помочь?
#include<stdio.h>
#include<cs50.h>
#include<string.h>
#include<ctype.h>
int main(int argc, char*argv[argc])
{
int counter = 0;
if (argc==1)
{
printf("Usage: ./substitution key\n");
}
for (int i = 1;i <= argc; i++)
{
if (isalpha(argv[i]) != 0)
continue;
else
counter++;
}
if (counter>1)
printf("Usage: ./substitution key\n");
else if (argc!=27 && argc!=1)
printf("key must contain 26 characters.\n");
}