#include
void main()
{
char *p1="software",*p;
while(*p1!='\0')
{
p=p1;
p++;
p1++;
*p=' ';
p++;
}
printf("%s",p);
}
可以考虑将 p1 的定义修改为数组,如:char p1[]="software";就可以得到你想要的结果。
char *p1="software" 的定义,因为指针没有分配空间,而是指向常量型字符串"software"既然是常量就不能修改字符串的内容。
你具体想要干什么?里面有不合法的操作!你用一个数组存储字符串吧!
#include
void fun(char *p1, char *p){
while(*p1 != '\0') {
*p = *p1;
p++;
p1++;
*p = ' ';
p++;
}
*p = '\0';
}
void main() {
char p1[] = "software";
char p[80];
fun(p1, p);
printf("%s\n",p);
}
你试试这种做法,看看是不是你想要的。