#include<stdio.h>
#include<string.h>
#include<conio.h>
struct candidate{
char name[20];
int count;
}person[3]={"a",0,"b",0,"c",0};
int main(void)
{
/*********Begin*********/
int all;int i = 0;
char temp[20];
scanf("%d",&all);//就是这里,如果换gets()就只能读取9次,假设all=10
for (i; i < all; i++)
{
scanf("%s",temp);
if (strcmp(temp,"a")==0)
{
person[0].count++;printf("A");
}
if (strcmp(temp,"b")==0)
{
person[1].count++;
}
if (strcmp(temp,"c")==0)
{
person[2].count++;
}
}
for (int j=0;j<3;j++)
printf("%s:%d\n",person[j].name,person[j].count);
getch();
/*********End**********/
return 0;
}
#include <stdio.h>
#include <string.h>
#include <conio.h>
//这是测试代码:2021-03-05-LeeHJ
int main(void)
{
int scanfTemp = 0;
char getsTemp[20];
char *pGets = NULL;
pGets = gets(getsTemp); //入参是char型指针,这个gets函数不能指定入参
printf("gets S is %s\r\n", pGets); //gets 入参是字符串的形式,加入输入10 字符串打印是10 但是打印整型 就不是10了
printf("gets D is %d\r\n", (int)pGets);
scanf("%d", &scanfTemp); //这里指定了 键盘输入的字符转化为整型,这个函数可以指定入参,因此会根据设置转化
printf("scanfTemp D is %d\r\n", scanfTemp);
}
//运行结果:
//10 //键盘输入
//gets S is 10
//gets D is 2686756
//10 //键盘输入
//scanfTemp D is 10
gets()是用来读取字符串的,,,
gets()函数原型是char *gets(char *str);他的参数是个char 型指针,,返回的也是一个char型指针
可是就算是返回指针也应该返回十次而不是九次呀!我为此一直头疼呢