如何在C语言中判断一个变量为一个字符串!!

比如说我输入一段文字我要在这段文字里找出一个词语我用while循环,我声明一个char 变量,循环条件是这个变量等于我要找的词语,!!!
我是做一个班长选举的程序,直接输入班里同学每个人所支持的竞选人,再从所输入的名字中分别计算出每个名字出现的次数,并要排序!

第1个回答  2010-09-03
空格不算是空字符串,str=""这样的才算是空字符串,里面什么都没有,而str=" "是有内容了,这个str存储了一个字符(空格),如果你要把空格也算是空字符串,那么要稍作修改:
char str[] = " ";
int len = strlen(str), i = 0;
if (len 0)
{
while(i len str[i++] == ' ');
if (i len) // 字符串不空
else // 空字符串
}本回答被提问者采纳
第2个回答  2010-08-18
我写了个,你自己改改:(其实最好还得用struct来写,那样比较规范。)#include <stdio.h>
#include <string.h>
int main()
{
char s[4][20]={"xiaohong","xiaowang","xiaobai","xiaoxiao"};
char s1[10][20];
int a[4]={0,0,0,0},i,j;
printf("请输入同学姓名:\n");
for(i=0;i<10;i++)
{
scanf("%s",&s1[i]);
for(j=0;j<4;j++)
{
if(strcmp(s[j],s1[i])==0)
{
a[j]=a[j]+1;
//printf("eaf\n");
break;
}
}
}
for(i=0;i<4;i++)
{
printf("选%s的人数为%d\n",s[i],a[i]);
}
return 0;
}
输入方式:
xiaobai
xiaohong
xiaolu
xiaohong
xiaohong
xiaohong
xiaobai
xiaoxiao
xiaoxiao
xiaowang
第3个回答  2010-08-18
和一个字符串相比较,肯定不可能用char,你得用一个字符串指针或数组
char str[]="abc";
if (0 == strcmp(str,"abc"))
{
//相等
}
else
{
//不相等
}

嗯,想法很好,也很容易做到
第4个回答  2010-08-18
用一个结构体
struct{
char name[];
int num;}stu;
stu a,b,c;
然后初始化,名字输入,票数num=0;
if(strcmp(str,“a.name”)==0)a.num++;
if(strcmp(str,“b.name”==0))b.num++;
if………………
相似回答