『壹』 c語言,調用不了函數
函數要先聲明後使用。函數正確定義之後,還要看語法或演算法是否有錯誤,而導致調用該函數的語句未執行
『貳』 c語言函數調用怎麼沒被執行 求幫助 怎麼修改
1.首先你的返回值沒有確定,只是一個 return
2.在下面代碼中
for(i=100;i<1000;i++)
{
cmcc(i); //無論這句返回的是什麼都會執行下一句。
printf("%d ",i);
}
試試下面這段修改後的看看
#include<stdio.h>
int cmcc(int x)
{
int a,b,c;
a=x/100;
b=x/10%10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
return 1;
return 0;
}
main()
{
int i;
for(i=100;i<1000;i++)
{
if(cmcc(i))
printf("%d ",i);
}
}
『叄』 c語言中的函數調用問題(不運行啊)
只要沒啟動看門狗,正常編程就行了,然後就在被調用函數里等待按鍵,但是不能用死循環,那就出不來了,可以用while語句,判斷按鍵是否按下,按下帶返回值返回,沒有按鍵繼續檢測按鍵。
『肆』 c語言寫函數,為什麼函數不執行
這是因為getchar前面有一個scanf("%lf",&a);
你輸入完a的值後,是否會
輸入回車
這個回車就是一個字元啊,這個字元就被getchar當做你輸入的字元了,所以看起來像沒有執行,其實是執行了。
可以在getchar()前使用
fflush(stdin);
刷新標准輸入緩沖區,把輸入緩沖區里的東西丟棄
這樣就可以輸入字元了。
『伍』 C語言,無法調用函數
int main(void)
{
int max(int x, int y);//加上聲明
int a,b,c;//多定義了沒用的數據
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max is %d",c);
}
int max(int x,int y)//加上返回值類型int
{
int z;
if(x>y) z=x;//不要逗號
else z=y;
return z;
}
『陸』 C語言中函數調用的問題
關於c語言中函數調用問題解答如下:
首先如果是編譯的這個代碼那這個函數肯定被調用了,讓你覺得沒有調用是因為while循環沒有被執行。
圖中紅色框內代碼p1和p2經過賦值p1是肯定大於p2所以不滿足while.的條件直接退出了函數。
你需要看看要實現啥在改一下。
『柒』 C語言中輸入函數無法執行
因為前面輸入數字時,最後總要按下回車鍵,這就輸入了一個回車符,而後面的getchar()會讀取這個字元,而不等待從鍵盤輸入(因為緩沖區不為空),修改如下:
#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;j>0;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;j>0;j--)
{
fprintf(fp,"%d",data[j]);
}
fprintf(fp,"\n%d!有%d位......\n\n\n",num,digit);
fclose(fp);
}
return 0;
}