課程
/后端開發
/C
/Linux C語言編程基本原理與實踐
這是為什么?不需要return 1也可以?
2016-04-11
源自:Linux C語言編程基本原理與實踐 7-1
正在回答
#include<stdio.h> /*stdin?*?stdout?*?stderr*/ int?main(){???? ?fprintf(stdout,"please?input?the?value?a:\n");??? ?int?a;?? ??fscanf(stdin,"%d",&a);? ???if(a<0) ???{??? ???fprintf(stderr,"the?value?must?>?0\n");?? ???//?return?1; ???} ???printf("你輸入的是%d\n",a);??? ???return?0;}
1去掉return 1;提示報錯,繼續執行。
2加上return 0;我發現和return 1;好像一樣啊,報錯不再執行
只要你把數據寫到stderr中,就是輸出錯誤流了,和返回什么沒有關系
在前面的課程中老師講過了,在執行C語言程序時,如果前一個步驟執行錯誤,就不會往下執行,如何判斷前一個程序是否出錯,是看執行它以后返回值是否為0,如果為0,繼續執行,如果不為0,則程序就不繼續執行了。
所以,在編程時,我們要想到,當程序沒有得到我們想要的東西時,我們需要不繼續執行程序,所以應返回一個非0的錯誤碼,
如果,像你提問的那樣,不加return 1,則即使程序判斷出錯誤了,也沒有相應措施,它的判斷是沒意義的,
例如:本節講的這段語句中if外面再加一條語句,printf("你輸入的是%d\n",a);
????????? 如果if判斷我們輸入的是<0,但會因為沒有return 1;而繼續執行,輸出結果中除了if語句內的輸出,還有if外的輸出;
????????? 如果我們在if判斷語句中加了return 0;注意,是return 0;????? 雖然當if判斷出輸入的是<0,也跳出程序了,也提示了,但是程序執行這段語句后的返回值是0,如果這段程序后面還有程序,因為前一個程序的返回值為0,所以它會繼續執行的。所以,if雖然判斷了,提示了,但沒有停止程序執行。
??????? 所以,我認為,return 一個非0整數 ,不僅有提示作用,還有使程序停止運行的作用。
???????
?????????
慕勒2752433
return 1是為了返回錯誤碼,便于知道程序出錯了,是為了讓程序員看的
舉報
本視頻教程介紹C語言基本工作原理以及適用與C的實際開發方式
2 回答錯誤流和輸出流有啥區別??????
1 回答標準輸出流合標準錯誤流
2 回答標準輸出流和標準錯誤流的區別
1 回答15:11秒,錯誤流和輸出流文件內容為什么不一樣
3 回答進行make命令的時候出現錯誤
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-12-02
1去掉return 1;提示報錯,繼續執行。
2加上return 0;我發現和return 1;好像一樣啊,報錯不再執行
2016-10-26
只要你把數據寫到stderr中,就是輸出錯誤流了,和返回什么沒有關系
2016-06-27
在前面的課程中老師講過了,在執行C語言程序時,如果前一個步驟執行錯誤,就不會往下執行,如何判斷前一個程序是否出錯,是看執行它以后返回值是否為0,如果為0,繼續執行,如果不為0,則程序就不繼續執行了。
所以,在編程時,我們要想到,當程序沒有得到我們想要的東西時,我們需要不繼續執行程序,所以應返回一個非0的錯誤碼,
如果,像你提問的那樣,不加return 1,則即使程序判斷出錯誤了,也沒有相應措施,它的判斷是沒意義的,
例如:本節講的這段語句中if外面再加一條語句,printf("你輸入的是%d\n",a);
????????? 如果if判斷我們輸入的是<0,但會因為沒有return 1;而繼續執行,輸出結果中除了if語句內的輸出,還有if外的輸出;
????????? 如果我們在if判斷語句中加了return 0;注意,是return 0;????? 雖然當if判斷出輸入的是<0,也跳出程序了,也提示了,但是程序執行這段語句后的返回值是0,如果這段程序后面還有程序,因為前一個程序的返回值為0,所以它會繼續執行的。所以,if雖然判斷了,提示了,但沒有停止程序執行。
??????? 所以,我認為,return 一個非0整數 ,不僅有提示作用,還有使程序停止運行的作用。
???????
?????????
2016-04-12
return 1是為了返回錯誤碼,便于知道程序出錯了,是為了讓程序員看的