whappymanlynn 2015-04-11 05:12 采纳率: 100%
浏览 1693
已采纳

帮我看看,真个程序在内部调用自己声明的函数,为何没用?

/*get_int*/
/*目标1.实现可循环输入,输入特定按键即可退出*/
/*目标2.可以识别错误,并给予用户机会重新输入*/
#include
#include"get_chooise.c"
#define size 81
void get_number(int quantity, int number[]);//一个读取数字函数的声明

void get_char(int quantity,char ch[]);//一个读取字符函数的声明

int main()
{
void get_number(int quantity, int number[]);
void get_char(int quantity,char ch[]);

int quantity_in,chooise;
int number_in[size];
char char_in[size];
printf("请您选择您要输入的数据类型。\n");
chooise=get_chooise();
switch(chooise)
{
case 1:
printf("您选择是读取一定数量的数字\n");
get_number(quantity_in, number_in[size]);
break;
case 2:
printf("您选择的是读取一定数量的字符\n");
get_char(quantity_in,char_in);
break;
default:
printf("退出。\n");
break;
}
system("pause");
return 0;
}
/*读取一定数量数字的函数原型*/
void get_number(int quantity,int number[])
{
int order;
for(order=0;order<=quantity-1;order++)
{
scanf("%d",&number[order]);
putchar('\n');
}
}
/*读取一定数量的字符的函数原型*/
void get_char(int quantity,char ch[])
{
int order;
for(order=0;order<=quantity;order++)
{

scanf("%c",&ch[order]);
putchar('\n');
}
}

/*另一个函数源文件*/
/* get_chooise.c*/
#include

int get_chooise()
{
int chooise,judgement;
char character;
printf("你好,请从一下序列对应的选项选择您要输入的数据类型。\n");
printf("1,输入你需要输入的数字的个数及要输入的数\n");
printf("2.输入你需要输入字符的个数及要输入的字符\n");
while((judgement=scanf("%d",&chooise))!=1)
{

while((character=getchar())!='\n')
{
putchar(character);
}
printf("不是一个数字,请键入一个1~2的数字。\n");
if(chooise<=1&&chooise>=2)
{
printf("请输入1或者2\n");
scanf("%d",&chooise);
}
while(scanf("%d",&chooise)!=1&&(chooise2))
continue;
}
return chooise;
}

  • 写回答

4条回答 默认 最新

  • bullzerone 2015-04-11 13:04
    关注

    你的主程序里面,所有的局部变量都没有初始化呀。当然调用不起来。你没有初始化quantity_in,它会自动被系统初始化为0,那按照你的程序就是一个也
    不输入,即便不是0,你不初始化它,程序也就不知道你要输入几个整数或字符,当然也调用不起来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)