首页 > 解决方案 > 判断输入是否纯粹是 C 中的字母时出现逻辑错误

问题描述

我正在尝试编写一个程序,该程序将单词作为输入并确保它由所有字母而不是其他字符组成。这就是我到目前为止所拥有的:

for(int i = 0, length = strlen(argv[1]); i < length; i++)
{
    if (!isalpha(argv[1][i]))
    {
        printf("Usage: ./vigenere keyword\n");
        return 1;
    }
    else
    {
        printf("success\n");
    }
}

现在的问题是,如果我输入一个包含三个字母的单词,它会打印出单词 success 三次。我似乎找不到解决方法,你能帮我吗?

标签: c

解决方案


print successfor 循环移出。

for(int i = 0, length = strlen(argv[1]); i < length; i++)
{
    if (!isalpha(argv[1][i]))
    {
        printf("Usage: ./vigenere keyword\n");
        return 1;
    }
}
printf("success\n");

推荐阅读