找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1974|回复: 8

这段代码看不懂!!

[复制链接]
发表于 2009-10-31 02:08:45 | 显示全部楼层 |阅读模式 IP:江苏扬州
请问各位大虾,下面的代码是实现什么功能的?特别是while(*a&&*b&&(*a==*b))是什么意思啊?
#include <iostream> int stringcmp(char *a,char *b)
{
while(*a&&*b&&(*a==*b))
{
a++;b++;
}
return((*a-*b)==0? 0 : ((*a-*b)>0? 1 : -1) );
}
int main() { char a[20]; char b[20]; std::cin >> a >> b; int i = stringcmp(a,b); std::cout << i << std::endl; return 0; }
发表于 2009-10-31 02:08:46 | 显示全部楼层 IP:江苏扬州
俺也是初学,只能说说吧…… 这个是用来比较两个字符串的…… #include <iostream> int stringcmp(char *a,char *b)
{
while(*a&&*b&&(*a==*b)) //指针a和b都取到字符且是相等字符
{
a++;b++;
}
return((*a-*b)==0? 0 : ((*a-*b)>0? 1 : -1) ); //当a与b相等返回0,大于返回1,小于返回-1
}
int main() { char a[20]; char b[20]; std::cin >> a >> b; int i = stringcmp(a,b); std::cout << i << std::endl; return 0; } 不足之处,多多指教……
回复

使用道具 举报

发表于 2009-10-31 02:08:47 | 显示全部楼层 IP:江苏扬州
while(*a&amp;&amp;*b&amp;&amp;(*a==*b)) 我想这样会好些:
while((*a)&amp;&amp;(*b)&amp;&amp;  (*a==*b))
回复

使用道具 举报

发表于 2009-10-31 02:08:47 | 显示全部楼层 IP:江苏扬州
没错,就是这个意思了!
回复

使用道具 举报

发表于 2009-10-31 02:08:48 | 显示全部楼层 IP:江苏扬州
主函数就是输入两个字符串,然后调用strcmp进行比较。如果相等则输出0,大于输出1,否则输出-1。strcmp上面解释得很清楚了。
回复

使用道具 举报

发表于 2009-10-31 02:08:49 | 显示全部楼层 IP:江苏扬州
while(*a&amp;&amp;*b&amp;&amp;(*a==*b))的意思就是指针a和b都不为空(即所指向的地址中存放有值),且两个指针指向同一个地址
回复

使用道具 举报

发表于 2009-10-31 02:08:50 | 显示全部楼层 IP:江苏扬州
新手还需要勤加学习!
回复

使用道具 举报

发表于 2009-10-31 02:08:51 | 显示全部楼层 IP:江苏扬州
加个括号好点
回复

使用道具 举报

发表于 2009-10-31 02:08:52 | 显示全部楼层 IP:江苏扬州
while(*a&amp;&amp;*b&amp;&amp;(*a==*b))这个地方看看 运算符的 优先级和结合律 就能明白:
   *(取内容)比&amp;&amp;高很多所以*a先结合,*b同理。
整体的意思就是指针a和b的内容都不为'\0',且指针a和指针b指向的内容相等!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 17:32 , Processed in 0.241686 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表