C语言字符串输入输出
字符串赋值:
以下面代码为例:
把t的字符串的值赋给了a,但是并没有产生新的字符串,只是让指针a指向了t所指的字符串,t和a指向的是同一个地方,对a的任何操作就是对t做的
#include <stdio.h> int main() { char *t="title"; char *a; a=t; printf("%s\n",t); //title printf("%s\n",a); //title
return 0; }
字符串输入输出:
char string[8];
scanf("%s",string); scanf读入一个单词,到空格、tab或回车为止
printf("%s",string);
但是!!上面的写法是不安全的,因为不知道会读取到多少数据,可能会溢出,所以可以在%s中间加一个数字,表示最多读取多少,例如:
char string[8];
scanf("%7s",string); //输入123456789
printf("%s",string); //读取到1234567
空字符串
char buffer[100]="";
char buffer[]="",就是表示buffer[0]=='\0'
如果按照上面这种写法就是说buffer的容量只有1,放不下任何东西