因?yàn)榍懊孑斎霐?shù)字時(shí),最后總要按下回車鍵,這就輸入了一個(gè)回車符,而后面的getchar()會(huì)讀取這個(gè)字符,而不等待從鍵盤輸入(因?yàn)榫彌_區(qū)不為空),修改如下:
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
#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階乘計(jì)算器\n\t請(qǐng)輸入:");
scanf("%d",num);
for(i=1;i=num;i++)
{
if(i%20==0)
{
printf("\n\t當(dāng)前計(jì)算到%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);/************注意這里,刷新緩沖區(qū),避免前面輸入數(shù)字時(shí)遺留的回車符影響這里的讀取******/
if(tolower(getchar())=='y')
{
printf("請(qǐng)輸入文件名:");
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;
}
肯定不顯示的,getch()本身就是不回顯的。而且這里也不能用getch(),而應(yīng)該用getchar()
把你的程序改了一下。正確的都保留,錯(cuò)誤的予以糾正:
#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();
}
這么深的嵌套函數(shù)基本很難看懂的,所以首先你要簡(jiǎn)化一下邏輯,避免這么復(fù)雜的嵌套語句.一般來說,內(nèi)嵌超過層時(shí)最多的,超過了就有問題
至于看問題,肉眼時(shí)看不出來的,因?yàn)檎l也不知道你fprintf時(shí)實(shí)際寫入的東西是啥.有兩個(gè)核心的點(diǎn)
a) 在fprintf處加斷點(diǎn),看看寫入的數(shù)據(jù)是否在數(shù)組范圍內(nèi),是否越界,寫入的數(shù)據(jù)是否合法
b) 檢查fprintf的返回值,看看是否報(bào)錯(cuò)
絕大部分錯(cuò)誤都不是看出來的,調(diào)試是程序員必備技能
分享標(biāo)題:C語言函數(shù)輸入不了 c語言函數(shù)輸入不了怎么回事
網(wǎng)頁地址:http://jinyejixie.com/article26/ddisicg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)