[請問] c++新手問題

看板ask作者 (Mayo)時間10年前 (2015/04/30 11:41), 編輯推噓1(1015)
留言16則, 3人參與, 最新討論串1/1
#include <stdio.h> #include<stdlib.h> int main() { int a=34; int b=8; float c,d; c=a/b; d=(float)a/b; printf("%f\n",c); printf("%f\n",c); return 0; } 為何print出來 會兩個都是4.000000 (float轉型無效???) 另外請問一下 為何我在補習影片上 看到老師說開頭是 void main() 但實際上我輸入編譯器 缺需要填入#iclude + int main 感謝解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.177.140 ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1430365299.A.76C.html

04/30 11:42, , 1F
因為你的兩個 printf 都是印出 c
04/30 11:42, 1F

04/30 11:43, , 2F
.......
04/30 11:43, 2F

04/30 11:43, , 3F
對不起白癡了
04/30 11:43, 3F

04/30 11:44, , 4F
那能幫我解答下面main那個疑惑嗎
04/30 11:44, 4F

04/30 11:45, , 5F
照 C99 規定 main 的 prototype 應該是 int main(void)
04/30 11:45, 5F

04/30 11:46, , 6F
或 int main(int, char**) 如果你要收命令列參數
04/30 11:46, 6F

04/30 11:47, , 7F
古時候會寫 void main() 就不需要寫 return 0
04/30 11:47, 7F

04/30 11:47, , 8F
老師只是沒更新教材,但當然還是遵守新規定較好
04/30 11:47, 8F

04/30 11:49, , 9F
了解 感謝 所以目前照網路上範例就可以了
04/30 11:49, 9F

04/30 11:49, , 10F
include是把你用到的所有指令的工作方式告訴電腦 剛入門
04/30 11:49, 10F

04/30 11:49, , 11F
的話只要背下來就對了 用int 是因為你程式最後有return 0
04/30 11:49, 11F

04/30 11:49, , 12F
用void就不用return
04/30 11:49, 12F

04/30 11:49, , 13F
定義函式不指定參數是古代 K&R C 的習慣,其實不太好
04/30 11:49, 13F

04/30 11:50, , 14F
就算函式不需要吃參數,最好還是寫上 void
04/30 11:50, 14F

04/30 11:50, , 15F
這樣誤用時(弄錯加了參數)編譯器會曉得要警告你
04/30 11:50, 15F

04/30 11:57, , 16F
感謝幫忙解答 以後我會先都填
04/30 11:57, 16F
文章代碼(AID): #1LGQHpTi (ask)