有几个小问题想问下大佬们!!
想问一下大佬们数组是都可以省去取地址符吗,为什么?以及在下面这段程序中的一些小问题!ball ball各位大佬帮忙看一下
#include<stdio.h>
#include<stdlib.h>
struct tel
{
double number;
char name[9];
};
int menu()
{
puts("请输入您想进行的操作:\n选择1:输入\n选择2:查询\n");
int k;
scanf("%d",&k);
return k;
}
void input(struct tel *T,int *size)//什么时候加*什么时候不加
{
if(*size==1000){
puts("容量已满");
return;
}
puts("输入姓名与号码:");
scanf("%s %lf",T[*size].name,&T[*size].number);
(*size)++;
}
void query(struct tel *T,int size)
{
if(size==0){
puts("无记录");
return;
}
puts("输入待查询的名字:");
char str[1000];getchar();gets(str);//下面scanf和上述这种做法结果好像没有什么区别,用上述做法有什么好处吗?
//scanf("%s",str);
int i,flag=0;
for(i=0;i<size;i++)
{
if(strcmp(str,T[i].name)==0)
{
printf("%s %.0lf\n",T[i].name,T[i].number);
flag=1;
}
}
if(flag==0){
puts("查无此人");
}
}
int main()
{
struct tel T[1000];int Tsize=0;
while(1)
{
int k=menu();
if(k==1)input(T,&Tsize);//为什么这要加一个&但下面query里那个不需要
if(k==2)query(T,Tsize);
}
return 0;
}