A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码一
/*
定义一个结构,姓名 电话号码
让用户从键盘上输入要保存的姓名和电话号码
输入完成后,可以打印出来
*/
#include <stdio.h>
#include <stdlib.h>
#define len 1000
int main(int argc, char *argv[]) {
struct Contacts{
  char name[21];
  char num[21];
}person[len];

char a='Y';
int i=0;
while(1)
{
  if(a=='N'||a=='n')
   break;
  else if(a=='Y'||a=='y')
   {
    printf("\n姓名:");
    gets(person[i].name);
    printf("\n号码:");
    gets(person[i].num);//   
    i++;
   }  
  else
   {
    printf("输入错误\n");
   }
  printf("是否继续输入Y/N\n");
  scanf("%c",&a);
  getchar();  
  //printf("a=%c\n",a);  
}
int n=0;
for(n=0;n<i;n++)
{
  printf("姓名%s\n",person[n].name);
  printf("号码%s\n",person[n].num);
}
return 0;
}
**************************************************************
代码二
/*
定义一个结构,姓名 电话号码
让用户从键盘上输入要保存的姓名和电话号码
输入完成后,可以打印出来
*/
#include <stdio.h>
#include <stdlib.h>
#define len 1000
int main(int argc, char *argv[]) {
struct Contacts{
  char name[21];
  //char num[21];
  int num;
}person[len];

char a='Y';
int i=0;
while(1)
{
  
  if(a=='N'||a=='n')
   break;
  else if(a=='Y'||a=='y')
   {
    printf("\n姓名:");
    gets(person[i].name);
    printf("\n号码:");
    //gets(person[i].num);   
    scanf("%d",&person[i].num);
    getchar();
    i++;
   }  
  else
   {
    printf("输入错误\n");
   }
  printf("是否继续输入Y/N\n");
  scanf("%c",&a);
  getchar();  
  printf("a=%c\n",a);  
}
int n=0;
for(n=0;n<i;n++)
{
  printf("姓名%s\n",person[n].name);
  //printf("号码%s\n",person[n].num);
  printf("号码%d\n",person[n].num);
}
return 0;
}



3 个回复

正序浏览
初始化字符.如果少了这条语句 a的值将是一个不确定的字符,if语句无法判断除"Y,y,N,n"以外的别的字符,程序将进入死循环;
回复 使用道具 举报
char a='Y';

定义这个是干什么的呀~?
回复 使用道具 举报
真大神 啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马