| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:这个程序为什么不是死循环
取消只看楼主 加入收藏
xilixjd
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2015-12-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
这个程序为什么不是死循环
程序代码:
#include <stdio.h>

void delspace(char *p1);

int main(void)
{
    char str[81];

 do

 {
  puts("input a string:");
  gets(str);
  delspace(str);
  puts(str);
  puts("input any char except q to go on.");
  gets(str);

 }

 while(*str != 'q');

 puts("Quit.");
    return 0;
}

void delspace(char *p1)
{

 char *p2;

 while (*p1 != '\0' )

 {
  if (*p1 == ' ')
  {
   p2 = p1;
   while(*p2 != '\0')
   {
    *p2 = *(p2+1);
    p2++;
   }
    p1--;//这里是多余的吧,删掉可以运行,不删的话感觉陷入了死循环。 
  }
  p1++;

 }
}
程序是要输入一个字符串,若有空格就把它删掉。
2015-12-06 11:19
xilixjd
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2015-12-6
收藏
得分:0 
回复 3楼 wmf2014
好的好的,受教了
2015-12-06 14:05
xilixjd
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2015-12-6
收藏
得分:0 
回复 3楼 wmf2014
你好,我能问你一下定义了char *p1,*p2之后,再进行p1=p2,*p1=*p2或者p1++操作会发生什么吗,我的理解是p1指向p2的首地址,p2的首地址赋值给p1,p1的地址前进一位
2015-12-06 14:28
快速回复:这个程序为什么不是死循环
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037628 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved