gpt4 book ai didi

c - 仅打印字母并显示数字或特殊字符串的错误

转载 作者:行者123 更新时间:2023-11-30 19:34:00 28 4
gpt4 key购买 nike

当输入仅为特殊字符或数字字符串时,我无法打印错误。它适用于混合字符串,但不适用于数字或特殊字符串

#include<stdio.h>
#include<ctype.h>
#include<string.h>

void main()
{
int c = 0, i;
char s[20];char*r;
printf("Enter the string:\n");
fgets(s,20,stdin);
for (i = 0;i < sizeof(s); i++)
{
if( (s[i]<'A' || s[i]>'Z') || (s[i]<'a' || s[i]>'z'))
c++;
}
if( (c == (strlen(s)) || (c == strlen(s)-1)))
printf("No alphabets to display");
else
{
for(r = s; *r; *r++)
{
if(isalpha(*r))
printf("%c",*r);
}
}
}

最佳答案

将此片段添加到您的代码中:
else if(!isalpha(*s))
printf("No alphabets to display");

并更正您的代码:for(i=0;i<sizeof(s);i++)
至:for(i=0;i<strlen(s);i++)

关于c - 仅打印字母并显示数字或特殊字符串的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44515200/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com