7 回答

TA貢獻(xiàn)392條經(jīng)驗(yàn) 獲得超170個(gè)贊
首先第七行,%s是輸出字符,也就是要有變量跟%d那樣的用法,是輸出控制,你可以直接這樣輸出
printf( "輸入錯(cuò)誤");輸出提示信息就可以.
還有第十四行,這個(gè)else其實(shí)后面不用加(n>1)了,else就行,所有的if跟else都不能加分號(hào)
最后主函數(shù)的那句輸出,你也是濫用了%s,你繼續(xù)學(xué)習(xí)下一節(jié)應(yīng)該就懂了.

TA貢獻(xiàn)65條經(jīng)驗(yàn) 獲得超23個(gè)贊
#include <stdio.h>
int factorial(int n)
{
?? ?int result;
?? ?if (n < 0)
?? ?{
?? ??? ?printf("%s\n", "輸入錯(cuò)誤");
?? ??? ?return 0;
?? ?}
?? ?else if (n == 0 || n == 1)
?? ?{
?? ??? ?result = 1;
?? ?}
?? ?else if (n > 1)
?? ?{
?? ??? ?result = factorial(n - 1)*n;
?? ?}
?? ?return result;
}
int main()
{
?? ?int n = 5;
?? ?printf("%d,n階乘=%d\n", n, factorial(n));
?? ?return 0;
}

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
怎么辦?看運(yùn)行報(bào)錯(cuò)信息指示的那一行,或則前后幾行。你已經(jīng)說(shuō)是else 出錯(cuò)了,就查看下if …else 結(jié)構(gòu)是否完整。
- 7 回答
- 0 關(guān)注
- 1893 瀏覽
添加回答
舉報(bào)