结构体数组问题
#include<stdio.h>struct depiao
{
char name;
int num;
};
void main()
{
int j,n=0;
char nam;
struct depiao person={{"1",0},{"2",0},{"3",0}};
printf("三个候选人名单:1 2 3\n");
printf("请输入你心中候选人的名字:");
while(n<5)
{
scanf("%19s",nam);
if(person.name==nam)
person.num++;
if(person.name==nam)
person.num++;
if(person.name==nam)
person.num++;
n++;
}
printf("名字\t\t\t\t得票数\n");
for(j=0;j<3;j++)
printf("%19s\t\t\t\t%d\n",person.name,person.num);
}
为什么if语句不执行!!! 字符串的比较要用strcmp函数。你这样个貌似不行吧 字符串比较不是用等号 知道了,谢谢
椛灬椛落 发表于 2016-11-2 20:58
字符串的比较要用strcmp函数。你这样个貌似不行吧
知道了,谢谢 scanf语句参数错误,最后一个参数前边要加&(取址符) 椛灬椛落 发表于 2016-11-2 20:58
字符串的比较要用strcmp函数。你这样个貌似不行吧
个人觉得用数组比较字符串也是可以的,用两个数组对应下标进行比较,要注意字符串结尾是用\0标记的,这个可以作为循环条件的终止! 小猫学步 发表于 2016-11-3 19:05
scanf语句参数错误,最后一个参数前边要加&(取址符)
你是在逗我吗?!num是数组,num已经是首地址了! 小猫学步 发表于 2016-11-3 19:09
个人觉得用数组比较字符串也是可以的,用两个数组对应下标进行比较,要注意字符串结尾是用\0标记的,这个 ...
那样的话你还的自己写函数。。数组是不能直接计算的。。你要遍历他比较
椛灬椛落 发表于 2016-11-7 20:21
那样的话你还的自己写函数。。数组是不能直接计算的。。你要遍历他比较
嗯 我这只是一个思路 没有考虑具体实施方案 Cy86183570 发表于 2016-11-6 12:29
你是在逗我吗?!num是数组,num已经是首地址了!
抱歉 没有仔细看你的代码 只是大概看了一下
页:
[1]