|
发表于 2012-4-10 12:33:25
|
显示全部楼层
本帖最后由 hxs554f 于 2012-4-10 22:15 编辑
#include <stdio.h>
#define MAX 3
struct data
{
int phnum;
int id;
char name[30];
char address[100];
};
input(struct data *sp) //传进去的是指针,后面就不要用数组了
{ //主函数里用了循环,这里就不必再用循环
printf("input your phonenumber:");
scanf("%d",&(sp->phnum));
printf("input your id:");
scanf("%d",&(sp->id));
printf("input your name:");
scanf("%s",sp->name); //想读入字符串就用%s,且scanf拼写错误
printf("input your address:");
scanf("%s",sp->address);
if(sp->phnum==0)
return(0);
else return(10);
}
void display(struct data *sp,int n) //主函数里用了循环,这里也不必再用循环了。当然,参数n也没用
{
// int i;
printf("---------------------------------------");
// for(i=0;i<=n;sp++,i++)
printf("%d-10s%d-10s%s-10%s-20\n",sp->phnum,sp->id,sp->name,sp->address);
//这句如果你是想两者之间空10个空格的话用printf("%10d-%10d-%10s-%20s",sp->phnum,sp->id,sp->name,sp->address);
}
void main()
{
int i;
struct data *sp,phlist[MAX];
for(i=0;i<MAX;i++)
{
if(input(&phlist[i])==0)
break;
printf("\n");
display(&phlist,i); //这句应该放里面吧
}
// display(&phlist[0],i);
}
[/i] |
|