单纯判断字符串,用strcmp函数比较两个字符串,相同返回0。
创新互联公司是一家集网站建设,团风企业网站建设,团风品牌网站建设,网站定制,团风网站建设报价,网络营销,网络优化,团风网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
要比较,首先需要有数据,像你举例的,判断输入姓名,那么首先要有一堆数据里面存放了姓名班级等对应信息,这些信息可存放在数据库或文件,也可直接放在数组及链表中。之后通过循环遍历这些数据,将里面的姓名分别和输入的姓名比较,相同就输出其具体信息。
一般都会如下去定义真假:
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
那么 if (TRUE) 则是判断为真的情况;
也有时会定义0为FALSE,TRUE则为非0,即!FALSE,象1表示为真,同样2也可表示为真,那么此情况下会使用:if(!FALSE)则判断为真。
但不管怎样,最好用宏去定义好真假,代码中直接用宏,而不是直接使用0或1。
朋友,这是一个与和或的问题。
"||"是或的意思,而""是与的意思,相信你应该知道:对于或而言,只要有一个是真,那么这个或的结果就是真;而对于与来讲,必须2个都为真,结果才是真,否则为假。
现在你需要知道,计算机语言中判断真假的准则是:零为假,非零为真!
也就是说"9||0"中的9已经为真,所以"9||0"这个表达式的值为1;同样的,"87"这个表达式的8和7都是真,所以结果也是1.
不知道你明白了没?希望对你有帮助!
对的!非零就是真!至于为什么它返回值是真,结果却每次都是1,而不是其他比如2,3,4。。其实这个也对的,只是别人写的系统函数返回的就是1或0。。。
写出来编译一下就知道了..
1 /*#define TRUE 1
2 * #define FALSE 0
3 * 定义 int find
4 * 循环开始 find = FALSE
5 * 当 文件比较==0时 find = TRUE
6 * 之后判断
7 * if (!find)这个时候 的find是TRUE 还是FALSE啊?
8 * if (!find) 这个时候判断出来是1 还是0*/
9 #includestdio.h
10 #define TRUE 1
11 #define FALSE 0
12 int main(void)
13 {
14 int num, find;
15 find = FALSE;
16 while(scanf("%d", num)==1)//输入数字否则退出.
17 {
18 if(num==0)
19 {
20 // find = TRUE; printf("find=%d\t!find=%d", find, !find);//看find的值啊,如果是0那就是FALSE啊,是1find是TRUE ;
21 // 要是find = TRUE 下面就不会运行了.
22 if(!find) printf("find=%d\t!find=%d", find, !find);//看find的值啊,如果是0那就是FALSE啊,是1find是TRUE ;
23 }
24 else printf("文件不等于0.");
25 }
26 return 0;
27 }