問個簡單的C 問題,問一個簡單C 問題

時間 2022-06-06 16:20:10

1樓:丷爫魚

1全部樓主,書上的程式是對的,你的程式是錯的。

你可以試試輸入 3 4 5 6 然後輸入一個非數字,比如:a,然後按enter,就得到結果了

原因:std::cin >> value函式當接受到一個非整型(為什麼是整型,因為value是int)時返回0,

只有這個時候,才能退出while迴圈,從而輸出。

你寫的程式輸出語句在while迴圈裡面,每執行一次迴圈就輸出一次,你想要去掉前3個必須把輸出放在迴圈體的外面,才能保證只執行一次輸出。

2樓:

#include

int main()

std::cout << "sum is: " << sum << std::endl;

return 0;

}注意看while裡面的改變

3樓:人for我我for人

如果用視窗執行,那while的判斷條件xtd::cin>>value會一直執行,因為你如果不強制結束程式,那它會一直等使用者輸入值進去,這樣永遠結束不了。

如果要解決,可以採用檔案讀寫方式。

標頭檔案加上#include

#include

int main()

4樓:

int main()

std::cout<<"sum is: "<

return 0;}

問一個簡單c++問題

5樓:匿名使用者

這是引用,功能和指標有些像。

6樓:匿名使用者

系統提供的巨集

測試一個條件並可能使程式終止

本劇中,看index >= 0 && index < size 是否成立

7樓:疏冰

& 表示引用 這裡是說返回值是一個引用的意思,一個point類的引用。

一個簡單的c++問題

8樓:

因為用了無符號型變數

y-z=50 50沒有符號

但是z-y=-50

把-50賦值給你個無符號變數的話,公式是這樣的(int是32位)2^32-50=4294967246

9樓:中大

你的x是unsigned int型別的,即只能≥0,根據記憶體分配原則,它溢位即從尾部重新開始~

如果x是int型別的,既不會出現這種情況啦

10樓:匿名使用者

記憶體中如果有一段10000001(二進位制),如果把他當成有符號的數,那麼第一個1是負號,這個數值就應該是 -1,如果當成無符號數,那數值應該是129。

無符號的50減去無符號的100,應該是個負數,但是這個負數在記憶體中是當成無符號的正數來取值的

弱弱的問一個簡單的c++問題。。。。。。 50

11樓:能能天使

我也是這個問題,結果發現使用了ostream但是未在標頭檔案開始包含 !!真是太粗心了!!你在兩個檔案的最開始加上 #include 就好了

12樓:

你的問題錯的太多了

你看錯誤資訊啊

'ostream' : 'friend' not permitted on data declarations

不能修飾日期??

binary 'operator <<' has too few parameters

引數少了

syntax error : missing ';' before '&'

.......

..........

好多問題

吧原始碼發過來看看

x.tostring(); x不是string型別的吧 是不是要強轉一下(string)

看的頭暈

一個簡單的c++問題

13樓:雨愁軒

#include

#include

#include

#define e 2.718281828main()

一個簡單的c++問題

14樓:

這個幫你看了下,有兩個錯誤

#include

using namespace std;

template ; //錯誤一:分號不要t max(t x,t y,t z)

其實這都是小錯誤,以後認真點就沒事,呵呵

15樓:左_後衛

樓上說得對.我試了一下.就是那的錯誤.

我想你這個程式應該是測試模板函式吧.不過,你的a,b,c,x,y,z全都是整型,怎麼體現?你可以把x,y,z換成別的型別的資料,這樣是不是會更好一點?

16樓:箕廣折含玉

這是程式設計者為了避免用「=」來比較大小時所犯的過錯而採取的聰明的做法。比如判斷n是否為0,通常同

if(n

==0),當粗心時,會用if(n

=0)來比較,編譯時,系統會將0賦給n,由於n=0,if表示式的值為「假」,這與原來的意圖恰好相反。如果用if(0==n)來比較,當然是可以的,粗心時,用if(0=n),那麼編譯程式會報錯。

17樓:洪唱瑞運華

首先,#if等和if的功能是一樣的,不同的是#if是對編譯物件的選擇,if是對語句執行的選擇。

然後,條件編譯:如上,按條件對語句進行編譯。

#if1中的1,就人為地控制編譯區塊,想編譯intmain()……塊地時候,在#if後加個1,要編譯main(),就人為地把1去掉(或者改成0)。如果剛接觸,可能會奇怪為什麼要人為地修改**,這時就仔細想想「編譯語句」和"執行語句"兩種概念,「編譯」是在**執行前,當然要人為修改**,「執行」是在**執行過程中,就要藉助表示式啦。呵呵

18樓:臧寰東郭芷

inti=0;if(

i=0)

沒看懂阿,條件表示式放在等號的左邊而被賦值~難道是這樣的?

if(i=i=0)

簡單的c 問題,一個簡單的c 問題

我來回答你 1.0 的作用是讓a b的結果是一個浮點數,要不然a b就是一個整數了。換個寫法就是c float a b,來個強制型別轉換,使得c的值是一個浮點數。回答完畢。當然是乘了!就是乘啊。用1.0就是把這個式子變成float型,也許c是float型的吧。為了沒有精度損失 應該是改變a的型別吧!...

C 簡單問題求教,一個C 簡單問題 求教

cin inline 1 你只輸入了一個位元組 或者說你輸入時記憶體越界了 include include using namespace std int main int count 0 cin inline int i 0 while inline i 0 cout the number of ...

C語言一個簡單的問題,一個簡單c語言小問題?

問題出在這裡 int a,b a 10 b 20 你的 a,b 都沒有初始化,指向了未知的地方,也就是所謂的野指標。可以設定兩個變數x,y,將 a,b 指向這兩個變數,然後作為引數呼叫 swap 函式。另外,你的 swap 函式忘寫函式名了吧?指標一般以小寫字母 p 開頭,表示 pointer,好習...