以下划线、英文字符开头的并且由下划线、英文字符和数字组成的标识符都是合法的标识符。编写一个程序,判断输入的一行字符是否构成一个合法的C标识符(以下划线_开头的标识符视为合法的C标识符)。(假设输入的字符串非关键字且最大长度为32)
**输入格式要求:getchar()
**输出格式要求:"is\n" "is not\n"
程序运行示例1如下:
$223
is not
程序运行示例2如下:
hello world
is not
程序运行示例3如下:
hello
is
#include <stdio.h>
int main()
{
char c;
int first = 1, flag1 = 0, flag2 = 1, n = 0;
while ((c = getchar()) != '\n')
{
n++;
if (first == 1)
{
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c == '_'))
flag1 = 1;
first = 0;
}
else if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || (c == '_')))
flag2 = 0;
}
if (flag1 == 1 && flag2 == 1 && n <= 31)
printf("is\n");
else
printf("is not\n");
return 0;
}
该程序用于检查输入的字符串是否符合C语言中合法标识符的要求,即以字母或下划线开头,后续可跟字母、数字或下划线,并且长度不超过32个字符。程序会读取输入直到遇到换行符,然后根据字符类型设置标志位,最后根据标志位和长度判断是否合法并输出结果。
5930

被折叠的 条评论
为什么被折叠?



