C语言学习总结(三)——字符串

字符串和格式化输入输出

一、字符串

字符串(character string)是一个或多个字符的序列。

"Just do it" 

利用双引号告知编译器他括起来的是字符串。

1、char类型数组

每个字符串末尾位置都有一个空字符——\0。
C语言用它标记字符串的结束。空字符不是数字0,他是非打印字符,ASCII码值为0。
这就意味着数组的容量至少比待储存字符串中的字符数多1。

2、使用字符串

#include <stdio.h>
int main(viod)
{
    
    
	char name[40];

	printf("What's your name?\n");
	scanf("%s", name);
	printf("Hello,%s",name);

	getchar();
	return 0;
}

输出结果如下:

What's your name?
fuck you
Hello,fuck.

可以看出scanf()只读取了fuck you中的fuck,在它遇到第一个空白的时候就不再读取输入。
根据%s转换说明,scanf()只会读取字符串的一个单词,而不是一整句。
字符和字符串
'f’是一个字符;
"f"是一个字符串,后面有个空字符哦。

3、strlen()函数

sizeof()不知道何时停止,分辨不出垃圾数据;
strlen()函数遇到空字符\0时停止。

二、C预处理器和const限定符

1、C预处理器

格式
#define NAME value
大写字母一般表示常量。

2、const限定符

const int  MONTHS = 12;

加了const表示变量只可读。

猜你喜欢

转载自blog.csdn.net/Dscerpor_/article/details/107192893