| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2866 人关注过本帖
标题:这里的两个while函数的终止条件是什么?
只看楼主 加入收藏
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
结帖率:58.82%
收藏
 问题点数:0 回复次数:11 
这里的两个while函数的终止条件是什么?
程序代码:
#define N1 100
#define N2 100
#define N N1+N2
#include <stdio.h>
void Link(char *p1,char *p2,char *p)
{
while(*p++=*p1++);//这里
    p--;
while(*p++=*p2++);//和这里
}
void main()
{
    char str1[N1],str2[N2],str[N];
    puts("请输入第一个字符串:");
    gets(str1);
    puts("请输入第二个字符串:");
    gets(str2);
    Link (str1,str2,str);
    puts("合并后的字符串为:");
    puts(str);
}
搜索更多相关主题的帖子: color 
2014-02-04 16:15
kindboy18
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:84
注 册:2014-1-24
收藏
得分:0 
死循环
2014-02-04 17:39
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
回复 2楼 kindboy18
不是。。课本上的例题啊。。
2014-02-04 17:47
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:0 
没分
2014-02-04 19:04
kindboy18
Rank: 2
等 级:论坛游民
威 望:1
帖 子:28
专家分:84
注 册:2014-1-24
收藏
得分:0 
sorry,我看错了,注意看while(*p++=*p1++)这句话,当输入一个字符串后,通过这个while循环,每次都会将字符串后移一位,直到移动到字符串的末尾'\0'为结束,就退出while循环了,LS说的对啊,木有分0.0。
2014-02-05 00:32
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
while里不是应该用双等号,==
参与一次投票可得到50分的可用分.

[ 本帖最后由 逆风而前 于 2014-2-5 10:36 编辑 ]
2014-02-05 10:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用逆风而前在2014-2-5 10:32:40的发言:

while里不是应该用双等号,==

這就是C迷惑人之處,不用邏輯表達式也是邏輯結果,而且賦值操作也是表達式。

授人以渔,不授人以鱼。
2014-02-05 10:36
tianwen0921
Rank: 2
等 级:论坛游民
帖 子:18
专家分:44
注 册:2014-1-27
收藏
得分:0 
你确定你没打错吗?
我感觉while后面也应该是==啊
但是str没有赋初值,*p是违法的吧
2014-02-05 10:42
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:0 
程序代码:
#define N1 100
#define N2 100
#define N N1+N2
#include <stdio.h>
void Link(char *p1,char *p2,char *p)
{
while(*p++=*p1++);//这里  如果赋值可以进行,也就是p1++指向的位置有值,那么就会返回1,反之返回0。。。
    p--;
while(*p++=*p2++);//这里同上
}
void main()
{
    char str1[N1],str2[N2],str[N];
    puts("请输入第一个字符串:");
    gets(str1);
    puts("请输入第二个字符串:");
    gets(str2);
    Link (str1,str2,str);
    puts("合并后的字符串为:");
    puts(str);
}

。。。。。。。。。。。
2014-02-05 12:39
Sornets
Rank: 2
等 级:论坛游民
帖 子:102
专家分:61
注 册:2012-11-22
收藏
得分:0 
噢……懂了,谢谢大家~

问题的时候已经没分了……我也不知道怎么把分给题加上=。=
2014-02-05 17:27
快速回复:这里的两个while函数的终止条件是什么?
数据加载中...
 
   



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

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