职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1021|回复: 4

C++问题这句怎么解释?

[复制链接]
popo 发表于 2009-8-31 10:13 | 显示全部楼层 |阅读模式
int x;
for(int i=0,i<100,i++)
{
if(!strcmp(stu).number,number)//这句代码怎么解释
实现什么功能?我本来是输入一个号码
实现查找功能的
不过不知道!strcmp的用法
注意一下
前面还有个冒号
x=i;

}
强劲力量 发表于 2009-8-31 10:14 | 显示全部楼层

C++问题这句怎么解释?

原型:extern int strcmp(char *s1,char * s2);
用法:#include <string.h>
功能:比较字符串s1和s2
说明:
当s1<s2时
返回值<0
当s1=s2时
返回值=0
当s1>s2时
返回值>0

举例:
// strcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";

int r;

clrscr();

r=strcmp(s1,s2);

if(!r)
printf("s1 and s2 are identical");
else if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");

getchar();

return 0;
}
文仔 发表于 2009-8-31 10:14 | 显示全部楼层

C++问题这句怎么解释?

strcmp 比较字符串s1和s2
当s1<s2时
返回值<0
当s1=s2时
返回值=0
当s1>s2时
返回值>0
详细解释:http://www.ggv.com.cn/forum/clib/string/strcmp.html

if(!strcmp(stu).number,number)
这句写错了,应该是:
if(!strcmp(stu.number,number))
这句话的意思就是说,如果stu.number,number相等,则进入if语句.
狗狗汪汪 发表于 2009-8-31 10:14 | 显示全部楼层

C++问题这句怎么解释?

应该是if(!strcmp(stu.number,number))吧?
如果stu中的number和number不同的话
做x=i
strcmp就是比较后两个是否相同
加个!表示对比较后的结果取反
如果number和number相同
strcmp(stu.number,number)为0
取反就是1
执行之后的if语句
冒号?没看到啊
沙包 发表于 2009-8-31 10:14 | 显示全部楼层

C++问题这句怎么解释?

strcmp(串1,串2)
就是比较串1的ascii码与串2的ascii码
返回从左边起第一个不一样的ascii码的差

如果串1==串2
那么返回值应当是0
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-27 05:44 , Processed in 0.126309 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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