C语言中怎么判断两个字符串是相同的.
#include<stdio.h>#include<string.h>//引入字符串头文件struct//结构体定义定义结构体和共用体,相当于定义一个数据类型,相当于in...
#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);
}
} 展开
#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);
}
} 展开
展开全部
strcmp
原型: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
原型: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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询