关于字符数组

字符数组的输入输出

1)getchar()和 putchar() / printf() 和 scanf()

getchar() 和 putchar() / printf() 和 scanf() 的 %c,要结合 循环,只能单个字符输入输出!!

2)printf() 和 scanf()

printf() 和 scanf() 的 %s ←(操作数是地址),空格后的字符不输出

Eg:

#include<stdio.h>
int main()
{
	char str[10];
	printf("输入字符串:\n");
	scanf("%s",str);
	printf("输出结果:\n%s\n",str);
	return 0;
}

运行结果演示 ↓ yunxjieguo

3)gets(字符数组名) 和 puts(字符数组名)

gets(字符数组名) 和 puts(字符数组名): 以** '\0'** 作为结束的标志 (遇到换行字符,换行字符本身不会被接收,而是被转换成'\0'作为结束的标志),可以含有空格!!

Eg:

#include<stdio.h>
int main()
{
	char str[10];
	printf("输入字符串:\n");
	gets(str);
	printf("输出:\n");
	puts(str);
	return 0;
}

运行结果演示 ↓ yunxjieg2

字符串函数

(下面的几个函数在 string.h 中)

1.字符串的连接函数:strcat(A,B);

功能:将数组B的字符串连接到数组A的后面,并删除A后的"\0",调用后得到的是A的地址。

2.字符串的拷贝函数:strcpy{A,B};

功能:将数组B的字符串拷贝到数组A中,相当于将数组B赋值给A,调用后得到的是A的地址。

3.字符串的比较函数:strcmp(A,B);

功能:按** ASCII码值** 比较从左到右直到遇到不同的字符或者 '\0' 为止。
A=B , 返回值:=0; A>B , 返回值:>0; A<B , 返回值:<0;

Eg:

#include<string.h>
#include<stdio.h>
int main()
{
	char a[10]="a";
	char b[10]="b";
	char c[10]="a";
	printf("strcmp()函数:\n");
	printf("a和b比较:%d\n",strcmp(a,b));
	printf("b和a比较:%d\n",strcmp(b,a));
	printf("a和a比较:%d\n",strcmp(a,c));
	return 0;
}

运行结果演示↓ yunxingjieguo3

4.测字符串的实际长度:strlen(A);

功能:测量字符串的实际长度(空格也算,不含结束标识符'\0')