| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:编程的理解,一点小问题
只看楼主 加入收藏
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
收藏
 问题点数:0 回复次数:3 
编程的理解,一点小问题

函数fun功能是:逐个比较a,b两个字符串对应位置中的字符,把ASCII值大或相等的字符一次存放在c数组中,形成一个新的字符串。例如:若a中的字符串为aBCDeFgH,b中的字符串为ABcd.则c中的字符串为:aBcdeFgH

#include <stdio.h>
#include <string.h>
void fun(char *p,char *q,char *c)
{
int k=0;
while(*p || *q) 这点是什么意思?
{
if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
k++;
}
}
main()
{
char a[10]="aBCDeFgH",b[10]="ABcd",c[80]={'\0'};
fun(a,b,c);
printf("The string a:");
puts(a);
printf("The string b:");
puts(b);
printf("The result:");
puts(c);
}

[此贴子已经被作者于2006-2-27 0:13:05编辑过]

2006-02-27 00:11
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
while(*p || *q) *p *q 至少有一个不是字符串结束标志

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-02-27 02:55
一天进步一点点
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-2-19
收藏
得分:0 
while(*p ||*q)
等价于
while(*p!='\0'||*q!='\0')
也等价于
while(*p!=0||*p!=0)
....还有很多表示方法,解释一下,因为while后面是一个逻辑表达式,while语句的值也就只有真假,真为1,假为0。又因为'\0'的ASIII码为0。

2006-02-27 09:11
飞扬白鸽
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2005-12-31
收藏
得分:0 
HOHO~

淘宝网——小新图书店http://shop33459977./ 经典图书光盘仅在这里。
2006-02-27 10:56
快速回复:编程的理解,一点小问题
数据加载中...
 
   



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

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