c - 判断输入是否纯粹是 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 三次。我似乎找不到解决方法,你能帮我吗?
解决方案
将print success
for 循环移出。
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");
推荐阅读
- python - Python 和 Qt:MacOS 10.15 中不显示文本编辑器的主菜单
- angular - 使用 RxJS 进行角度异步延迟渲染
- java - jar 在我的电脑上找到主要课程,但在别人的电脑上找不到
- javascript - 使用 EJS 显示对象的属性时出现问题
- android - 如何在 GCP 中获取私有数据的 url
- python - 如何使用 Selenium 和 Python 绕过带有 buster 扩展的 ReCaptcha
- swift - Swift 在子字符串之前获取字符串
- javascript - 为什么我不能加载本地 CSV 文件以使用 D3 绘制图形?“不允许加载本地资源”,使用 CSV 文件令人沮丧
- angular - 在素数ng-输入数字微调器中循环特定范围的数字
- google-apps-script - 真正的最后一行和最后一列包含工作表上的数据