当输入只是特殊字符或数字字符串时,我无法打印错误。它适用于混合字符串,但不适用于数字或特殊字符串
#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);
}
}
}
答案 0 :(得分:0)
将此片段添加到您的代码中:
else if(!isalpha(*s))
printf("No alphabets to display");
并更正您的代码:for(i=0;i<sizeof(s);i++)
致:for(i=0;i<strlen(s);i++)