1160倒序數


題目鏈接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1160

 1 #include<iostream>
 2 using namespace std;
 3 int f(int x)
 4 {
 5     if(x%10)cout<<x%10;
 6     return f(x/10);
 7 }
 8 int main()
 9 {
10     int n;
11     cin>>n;
12     cout<<f(n);
13     return 0;
14 }

樣例順利通過。。。

 

看起來沒有問題,但結果很悲催。。。

 

找了幾分鍾終於看到問題所在

能編譯通過,樣例輸出也沒有問題,然而oj上為0,改int為void后:

很顯然是返回值類型與函數類型不匹配:cout輸出返回值類型應該是void,但后面的return類型卻是int,so,我也很凌亂。。。。

嘗試修改如上,編譯通過,但仍然是0分,為啥呢么?

 

然而我又該代碼如下:

神奇AC,驚喜。。。

 

 

 

 敲黑板總結啦:使用函數時,注意函數的返回類型和申明類型必須高度一致。。。尤其注意有return和輸出(printf(),cout())時,千萬要刀清楚,不要自己搞蒙自己,如果混亂,死都不知道怎么死的。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM