问题描述
- C语言翻译编程都没错,得不到结果
-
#include
void main()
{
char *p1="software",*p;
while(*p1!='')
{
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 != '') {
*p = *p1;
p++;
p1++;
*p = ' ';
p++;
}
*p = '';
}
void main() {
char p1[] = "software";
char p[80];
fun(p1, p);
printf("%sn",p);
}
你试试这种做法,看看是不是你想要的。
时间: 2024-08-23 21:52:28