字符串函数问题(求助)
定义一个字符串指针数组
char *p[]={"0:","1:"};
如果我想把" * "添加到字符串的末尾,可不可以这样写?如果不能,该咋样?
char *p[]={"0:","1:"};
strcat(p[0]," * ");
----------------解决方案--------------------------------------------------------
不可以。p[0]的内容存储在静态常量区域,其内容不可以修改。
可以改为存储在栈上,用二维数组就可以了,char p[2][5];
----------------解决方案--------------------------------------------------------
哦。。。谢谢
----------------解决方案--------------------------------------------------------
那么如何输出呢?
#include <stdio.h>
#include <string.h>
void main(void ) {
char p[2][5]={"0:","1:"};
strcat(p[0],"*");
printf("%s",p);
}
这样不能把结果直接打出来,难道要用循环?
有没有大虾帮忙看下,能不能直接用地址把这些字符串直接输出来?
----------------解决方案--------------------------------------------------------
又有问题了,如果先分配空间了,能不能那样写?
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <string.h>
void main(void ) {
char p[2][5]={"0:","1:"};
strcat(p[0],"*");
printf("%s",p[0]);
getch();
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------