字符串赋值?
- char *t = “title”;
- char *s;
- s=t;
- 并没有产生新的字符串,只是让指针s指向了t所指想的字符串,对s的任何操作就是对t做的
字符串输入输出
- char string[8]
- scanf(“%s”, string);
- printf(“%s”, string);
- scanf读入一个单词(到空格、tab或回车为止)
- scanf是不安全的,因为不知道要读入的内容的长度
#include<stdio.h>
int main(void)
{
char word[8];
scanf("%7s", word);
printf("%s##\n",word);
return 0;
}
安全的输入
- char string[8]
- scanf(“%7s”, string);
- 在%和s之间的数字表示对多允许读入的字符的数量,这个数字应该比数组的大小小一
- 下一次scanf从哪里开始
常见错误
- cahr *string
- scanf(“%s”, string);
- 以为char *就是字符串类型,定义了一个字符串类型的变量string就可以直接使用了
- 由于没有对string初始化为0,所以不一定每次运行都出错
空字符串
-
char buffer[100]=“”;
- 这是一个空的字符串,buffer[0]=‘\0’
-
char buffer[] = “”;
- 这个数组的长度只有1!
网友评论