| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8444 人关注过本帖
标题:、输入一个字符串,判断它是否是合法的C语言标识符,如果是,输出“it is a ...
只看楼主 加入收藏
花花世界吧
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-5-28
结帖率:0
收藏
 问题点数:0 回复次数:8 
、输入一个字符串,判断它是否是合法的C语言标识符,如果是,输出“it is a legal identifier.”,如果不是,输出“it is a illeg
如题
搜索更多相关主题的帖子: C语言 字符串 
2013-05-28 19:14
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
这个简单,就不给你原题了,给你个思路,用字符串数组,判断数组的第一个元素是否为字母或者下划线,然后逐个判断是否为字母、数字、下划线,遇到\0后结束,我劝你还是自己多动动脑子,不要一味的索取答案
2013-05-28 19:17
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
收藏
得分:0 
回复 2楼 赵疯子
是不是忘了还不能是关键字!
2013-05-28 19:19
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
回复 3楼 YJ_Hao
嗯,32个关键字必须一个一个的输入进去,用字符串数组对比,楼上的谢谢提醒了
2013-05-28 19:23
花花世界吧
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-5-28
收藏
得分:0 
     是一点都不会
2013-05-28 19:25
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
你稍等一下,我试着做一下
2013-05-28 19:27
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
这道题做起来有点麻烦,呵呵
程序代码:
#include<stdio.h>
#include<string.h>
main()
{
    char a[32][10]={"auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"};
    int i,x=1;
    char in[30];/*长度30应该够了*/
    printf("请输入一串字符串判断是否为合法标识符:\n");
    gets(in);
    if(in[0]=='_'||(in[0]>='a'&&in[0]<='z')||(in[0]>='A'&&in[10]<='Z')){//3
        for(i=0;i<32;i++){//2
            if((strcmp(a[i],in))==0){//1
                x=0;
                break;
            }//1
        }//2
    }//3
    if(x==0)
        printf("no");
    else
        printf("yes");
}
2013-05-28 19:58
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
yes是正确的标识符,no不是
2013-05-28 19:59
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<string.h>
main()
{
    char a[32][10]={"auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"};
    int i,x=1;
    char in[30];/*长度30应该够了*/
    printf("请输入一串字符串判断是否为合法标识符:\n");
    gets(in);
    if(in[0]=='_'||(in[0]>='a'&&in[0]<='z')||(in[0]>='A'&&in[10]<='Z')){//3
        for(i=0;i<32;i++){//2
            if((strcmp(a[i],in))==0){//1
                x=0;
                break;
            }//1
        }//2
    }//3
    if(x==0)
        printf("it is a illeg.\n");
    else
        printf("it is a legal identifier.\n");
}
2013-05-28 20:02
快速回复:、输入一个字符串,判断它是否是合法的C语言标识符,如果是,输出“it ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019842 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved