欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

新手村——C语言合法标识符程序

程序员文章站 2022-05-21 08:33:00
...

第一种:
取yes的情况

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
	int z=0,i,m;
	char a[50];
	gets(a);
	m=strlen(a);
	for(i=0;i<m;i++){
		if((a[0]<='z' && a[0]>='a') || (a[0]<='Z' && a[0]>='A') || (a[0]=='_')){
			if((a[i]<='z' && a[i]>='a')||(a[i]>='A'&&a[i]<='Z')||(a[i]>='0'&&a[i]<='9')||(a[i]=='_')){
				z++;
			}
		}
	}
	if(z==m){//重点小细节
		printf("yes");
	}
	else{
		printf("no");
	}
}
#include<stdio.h>//这个有错误 但是借用x这个方法可以借鉴
int main(){
	int i;
	int x=1;
	char a[50];
	scanf("%c",&a[0]);
	if((a[0]>='A'&&a[0]<='Z')||(a[0]>='a'&& a[0]<='z')||(a[0]=='_')){
		for(i=1; ;i++){
			scanf("%c",&a[i]);
			if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')||(a[i]=='_')||(a[i]<='9'&&a[i]>='0')){
				x=0;
			}
			else{
				x=1;
				break;
			}
		}
	}
	else{
		x=1;
	}
	if(x=0){
		printf("yes");
	}
	else{
		printf("no");
	}
	return 0;
}

结果:例子1正确 例子2 正确 例子3输出错误

第二种
取no的情况

此时例子1 输出错误 例子2输出错误 例子3正确

???我纳闷了

相关标签: 编程 觅香路