C语言函数输入不了 c语言函数输入不了怎么回事

C语言中输入函数无法执行

因为前面输入数字时,最后总要按下回车键,这就输入了一个回车符,而后面的getchar()会读取这个字符,而不等待从键盘输入(因为缓冲区不为空),修改如下:

创新互联公司网站建设公司,提供网站建设、成都做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

#include stdio.h

#include stdlib.h

int main()

{

int data[7000]={1,1,0},num,digit=1,i,j,k;

FILE *fp;

char fname[50];

printf("\t阶乘计算器\n\t请输入:");

scanf("%d",num);

for(i=1;i=num;i++)

{

if(i%20==0)

{

printf("\n\t当前计算到%10d 的阶乘!!!........\n",i);

}

for(j=1;j=digit;j++)

{

data[j]*=i;

}

for(j=1;j=digit;j++)

{

if(data[j]9)

{

for(k=1;k=digit;k++)

{

if(data[digit]9)

{

digit++;

}

data[k+1]+=data[k]/10;

data[k]%=10;

}

}

}

}

printf("\n\n\n\t%d!=\n",num);

for(j=digit;j0;j--)

{

printf("%d",data[j]);

}

printf("\n\n\t%d!共有%d位......\n\n\n",num,digit);

printf("是否保存文件?(y\\n)");

fflush(stdin);/************注意这里,刷新缓冲区,避免前面输入数字时遗留的回车符影响这里的读取******/

if(tolower(getchar())=='y')

{

printf("请输入文件名:");

gets(fname);

if((fp=fopen(fname,"w"))==NULL)

{

printf("打开文件%s失败",fname);

exit(0);

}

fprintf(fp,"\t%d!=\n",num);

for(j=digit;j0;j--)

{

fprintf(fp,"%d",data[j]);

}

fprintf(fp,"\n%d!有%d位......\n\n\n",num,digit);

fclose(fp);

}

return 0;

}

C语言getch()函数在循环里面为什么无法输入

肯定不显示的,getch()本身就是不回显的。而且这里也不能用getch(),而应该用getchar()

把你的程序改了一下。正确的都保留,错误的予以纠正:

#include stdio.h

#include conio.h 

void function1();

int main()

{

function1();

return 0;

}

void function1()

{

char array[100];

int i=0;

while((array[i]=getchar())!='#')

i++;

array[i]='\0';

puts(array);

getch();

}

C语言fprintf函数写不进去数据是咋回事?

这么深的嵌套函数基本很难看懂的,所以首先你要简化一下逻辑,避免这么复杂的嵌套语句.一般来说,内嵌超过层时最多的,超过了就有问题

至于看问题,肉眼时看不出来的,因为谁也不知道你fprintf时实际写入的东西是啥.有两个核心的点

a) 在fprintf处加断点,看看写入的数据是否在数组范围内,是否越界,写入的数据是否合法

b) 检查fprintf的返回值,看看是否报错

绝大部分错误都不是看出来的,调试是程序员必备技能


文章题目:C语言函数输入不了 c语言函数输入不了怎么回事
文章位置:http://scyanting.com/article/ddisicg.html