c语言语法基础之——字符数组

c语言语法基础之——字符数组,第1张

理解:
凡是以字符串形式定义的数组,系统编译时会默认在后边加一个“\0”

初始化举例:
char X[5]=“a,b,c,d,e” ❌ // 位数不够,需要再大于一个数
char X[]=“a,b,c,d,e” ✔ // 一般定义时用这种方式

scanf输入方式:
char c[10];
scanf("%s",c); // 输入时要连续,不能像数组中间敲空格,因为空格也是一个字符
注意:scanf 输入函数字符时遇到空格、回车、tab键会自动结束

以下写法会把空格当作一个字符写入进去,而不会自动结束:
for(i=0;i<5;i++){
scanf("%s",&c[i)];
}
printf("&s",c);

for(i=0;c[i]!="\0";i++){
scanf("%s",&c[i)];
}
printf("&s",c);

for(i=0;i<=strlen©;i++){ // strlen()仅在有元素时,输出时可用
scanf("%s",&c[i)];
}
printf("&s",c);

举例:

	// 输入:hello
	//输出:hello
	char a[5];
	printf("输入:"); 
	scanf("%s",a);
	printf("输出:%s",a);


//	输入:h e l l o
//	输出:h e l	
	char a[5];
	int i;
	printf("输入:"); 
	for(i=0;i<5;i++){
		scanf("%c",&a[i]); // 与%c 输一个字符 
	} 
	printf("输出:%s",a);
	
//	输入:h e l l o r t
//	输出:hello
	char a[5];
	int i;
	printf("输入:"); 
	for(i=0;i<5;i++){
		scanf("%s",&a[i]); // 与上一个 %c --> %s  
	} 
	printf("输出:%s",a);```

小程序:

```c
		// 输入一串字符,统计字母、数字、其他字符 的个数
	char a[10] = {'r', 'U', 'n', 'O', '0', 'B', '1', '2', '!'}; // 单引号 
	printf("%s\n",a); // %s 输出一个字符串 


	int i,strnums=0,nums=0,othernums=0;
	for(i=0;i<10;i++){
		printf("%c\n",a[i]); // %c 输出一个字符 
		if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z'){
			strnums++;
		}
		else if(a[i]>='0'&&a[i]<='9'){ //  单引号 
			nums++;
		}
		else{
			othernums++;
		}
	}
	
	printf("\n字母%d个\n数字%d个\n其他%d个",strnums,nums,othernums);

		/*
	rUnO0B12!
	r
	U
	n
	O
	0
	B
	1
	2
	!
	
	
	字母5个
	数字3个
	其他2个
	*/


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/674956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存