已采納回答 / 最初的感動
if括號中的只要不是0,那么都是真的,就執(zhí)行其后的語句,而x/2顯然是大于0的數(shù),所以執(zhí)行了第一句,跟你預(yù)期的不一樣。通常,我們用x%2來判斷,也就是求余。求余是指:一個數(shù)除以另一個數(shù),不夠除的部分就是余數(shù),就是求余的結(jié)果。例如:3%2,余數(shù)為1;其計算公式為:3%2 = (2+1)%2 = 2%2+1%2 = 0+1 = 1 ;上述公式中:2除2是可以除盡的,沒有余數(shù),所以余數(shù)為0;因為1小于2,1除2是不夠除的,有余數(shù),且余數(shù)是1;兩者相加,綜合結(jié)果為1。 另外,數(shù)學(xué)中,整除是指:一個數(shù)除以另一個數(shù)...
2015-05-11
最贊回答 / Jabin_Aronvoy
<<是向左移位運算符,在接在輸出流后的情況下被默認重載定義了輸出功能,后接一個基本數(shù)據(jù)類型或字符、字符串常量。在"cout<<x,y,z<<endl;"中"cout<<x"輸出x并返回一個標(biāo)準(zhǔn)輸出流對象,也就相當(dāng)于輸出x先后再進行"cout<<,y,z<<endl;"那么下一步是"cout<<,"這是一個未定義的行為,也就是說系統(tǒng)沒有定義這種寫法。和用“+”去加兩個未重載運算符的函數(shù),用“*”去乘你自己定義的兩個復(fù)數(shù)這類行...
2015-05-10
已采納回答 / onemoo
c1.input() 這一步你設(shè)置好了c1中成員的值。c2.output() ?但這一步你卻打印出了完全沒有接受過設(shè)置的c2,當(dāng)然會是亂碼。還有,你定義了c3,但沒有使用。
2015-04-23
已采納回答 / onemoo
你是想把chicken當(dāng)作字符串,所以應(yīng)該用雙引號括起來"chicken"。這樣在調(diào)用set函數(shù)時會自動把這個字符串轉(zhuǎn)換成string類型,再傳入set函數(shù)。不然編譯器不知道chicken這個名字是什么東西,是變量名?是函數(shù)名??......就會報未定義錯誤。
2015-04-22
已采納回答 / 那天空
傳值要一個個傳不覺得很麻煩么!高效的代碼都是玩指針,指針傳的是地址,由于數(shù)組保存的數(shù)據(jù)地址上是連續(xù)的,所以只需要傳輸數(shù)組的首地址+元素個數(shù),就能得到這個這個數(shù)組的所有元素!
2015-04-22
已采納回答 / 慕設(shè)計1393982
#include <iostream>#include <stdlib.h>using namespace std;namespace myNum ? ? ? ? ?//填寫命名空間的關(guān)鍵字{? ? int x = 105;}int main(){? ? // 使用bool類型定義isOdd,作為狀態(tài)位? ? ? ? bool ? ?isFlag = false; ? ? ?? if(myNum::x % 2 == 0) { //改變狀態(tài)位的值,使其為false? ? ? ? ...
2015-04-04
講師回答 / james_yuan
相對C語言的版本是C99及之前的版本,在兼容C99的VS系列編譯器上,將文件存為.c(不是.cpp)文件,則要求程序員必須將所有變量的定義都定義在函數(shù)的最前面,C語言中(在.c文件中)如果寫成for( int i = 1; i < N; i++) ,編譯器會報錯,必須要寫成int i = 0; for(i = 0; i < N; i++)才能編譯通過。
2015-04-01
講師回答 / james_yuan
這和每個人學(xué)習(xí)的軌跡有關(guān)系,舉例來說,如果在學(xué)習(xí)C語言的時候用的是C++的編譯器(建立文件的后綴使用.cpp),那么無意中用到的C++的一些特性就誤認為是C語言的語法。另外,此門課程只是C++在C語言基礎(chǔ)上延伸出的一門課程,還遠遠沒有涉及到C++的精髓,哈哈,稍安勿躁。
2015-04-01