C语言中怎么判断两个字符串是相同的.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么判断两个字符串是相同的.相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<string.h> //引入字符串头文件
struct //结构体定义 定义结构体和共用体,相当于定义一个数据类型,相当于int等。只有定义了这个类型的对象才能调用内部的数据。
int num;
char name[10];
char sex[3];
char job[5];
union //共用体
int banji; //班级
char position[10]; //职位
category;//共用体对象
person[2];//结构体对象
void main()
int i;
for(i=0;i<2;i++) //对结构体两个对象里的元素赋值。
printf("请输入 :学号 姓名 性别 工作 班级/职位\n");
scanf("%d %s %s %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
/* 问题在这________
// if(strcmp(person[i].job,"学生")>=0)
if(person[i].job=="学生")
scanf("%d",&person[i].category.banji);
else if(person[i].job=="教师")
//else if(strcmp(person[i].job,"学生")<0)
scanf("%s",person[i].category.position);
else printf("input error!");
*/
printf("\n");
printf("学号 姓名 性别 工作 班级/职位\n");
for(i=0;i<2;i++)
if(person[i].job=="学生")
printf("%-6d %-10s %-3s %-3s %-6d \n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.banji);
else
printf("%-6d %-10s %-3s %-3s %-6s \n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
原型: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;
相关函数:bcmp,memcmp,stricmp,strncmp
参考资料:http://www.ggv.com.cn/forum/clib/string/strcmp.html
参考技术A strcmp(char* ,char* )相同返回0,不同返回非0 参考技术B 用strcmp函数
以上是关于C语言中怎么判断两个字符串是相同的.的主要内容,如果未能解决你的问题,请参考以下文章