C语言字符串和字符串数组的输入赋值
决心使用C语言来做算法题,开头很痛苦。主要是困在了C字符串的输入和赋值。
现总结一下:
**1、字符串指针一定要开辟空间后在做输入**
char * str;
str=(char*)malloc(100*sizeof(char));
scanf("%s",&str);
**2、字符串数组要做初始化的开辟空间后再来存储字符串**
char * strArr[n];
int i=0;
for(i;i<n;i++)
{
strArr[i]=(char*)malloc(100*sizeof(char));
}
3、**字符串赋值要用strcpy函数。记得加载头文件 #include<string.h>**
strcpy(strArr[i],str);
把上面的做完,输出字符串数组就很方便了
int i=0;
for(i;i<n;i++)
{
printf("%s ",strArr[i]);
}
**补充:字符串的双引号做了3件事**
1.申请了空间,存放了字符串
2.在字符串尾加上了"/0"
3.返回地址
补充2:字符串还可以这样定义和初始化
char *number=new char[n+1];
memset(number,"0",n);
number[n]=" ";
当不用number的时候,用 delete []number 来删掉空间
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。