c 的乙個程式疑問,求解C 乙個程式設計問題

2023-04-20 10:20:03 字數 3318 閱讀 3094

1樓:匿名使用者

你首先要明白的是string 是什麼,它和char*不一樣,新手會誤以為string和int,char,char*類似,是個資料型別,其實不然,string是乙個類。 string string1, string2,temp;表示定義了3個string類的類物件,他們的名字分別是string1,string2,,end();都是類string的自帶的成員函式,取的是物件的首位址和尾位址。

而」 .運算子是表示呼叫類的成員或成員函式。 temp.

begin()的意思就是temp是string類的乙個物件,我們要找到temp這個物件的首位址,所以用物件temp來呼叫類string的函式,所以中間要有」.「

2樓:謝應宸

這裡你可以把temp想象成乙個字串陣列。

p=;代表p開始指向這個陣列的首位址。

依次向後遍歷直到。

p!=;這個陣列的最後。

這裡string型別是乙個c++的類,具體可以查閱msdn

3樓:

,temp是string型的,begain()是string類函式,表示字串的首位址。

當你的變數時乙個結構體或類的「物件」時,如果你要呼叫結構體的變數,或類裡面變數或函式時,用「.」如果物件是指標就用「->

4樓:匿名使用者

是字串的首位址,temp是乙個字串物件,begain和end是字串類中定義的方法,乙個類物件的用法是 物件名。成員名。

求解c++乙個程式設計問題

5樓:匿名使用者

這個程式是輸入ch,然後列印ch+1,即acsii碼表中ch的下乙個字元。

因此輸入字元'a',會輸出字元'b'

輸入字元'n',會輸出字元'o'

空格的下一位正是嘆號。

因此嘆號不是因為輸入回車,是因為輸入的是空格。

而**中顯示,輸入換行符'',輸出的仍為換行。

c++程式疑問

6樓:網友

思路沒問題,但考慮不周,編碼時細節出錯。最主要是不能用k=k+m的演算法,經過多輪迴圈之後,已經有很多猴子退出了,那麼k和k+m之間剩下的不可能還是m只猴子了,事實上需要乙隻乙隻猴子查是還在圈子中還是退出了。

另外i=k/n,lz自己能說清楚這是什麼嗎?

然後,c語言的計數系統(包括下標)都是從0開始的,自然語言和其他一些像vb語言是從1開始的,計數和迴圈的初值是0是1,最後判斷表示式是用小於還是小於等於,lz需要揣摩一下,如果要認真掌握c,最好適應一下從0開始的方式。

以下給的是第二個for大迴圈的**。

k=1; /猴子下標,根據 lz 從 1 開始的for(t=0; tn) /k 猴子下標,這個使 k 超過 n 之後從 1 繼續。

k = 1;

if(a[k]==0) /猴子 a[k] 早已退出,跳過k++;

elsei++;報數 + 1}a[k] =0; /讓猴子 a[k] 退出。

t++;退出猴子數 + 1}

7樓:匿名使用者

你的m都沒有變··改什麼··

c程式問題

8樓:

第4題是c、

第12題是 c、迴圈執行一次 (x不等於0的話,那麼!x就為假)

其他正確。

9樓:匿名使用者

cbbcc cdcad dac

2.實數包含整數。

= n++;自加分前加和後加,最好不是要賦值時體現出前加和後加的區別,k = n++是先把n賦給了k然後n再自加。

10樓:匿名使用者

我人答案是:cdacc cdcad dcc第4題:3/2=1,y=1+1=2。沒錯!但y是double型,結果一定是有小數點的,所以選c。

第12題:先不管其它的,首先執行一次do,然後x的值是1,while判斷!x,因為!x是0,假的,迴圈結束,所以只執行了一次。

最後我能問乙個問題麼,第七題中那z=(x%y,x/y)是什麼意思,怎麼算呀?

11樓:易公山東

cdacc cdcad dcc(第四題,和第十二題)你可以這樣驗證下:

int x=-1,i=0; do while(!x);

printf("%d",i);

12樓:多榮及和風

這個不算病毒。根本沒有傳染性。

乙個c程式的疑問???

13樓:匿名使用者

問題一:

strcmp沒理解正確,strcmp在比較時有兩種情況程式結束:

1、比較遇到了"\0";

2、比較遇到了不同的字元。

你的程式只有比較最後乙個字元。

問題二:if(*str1++>str2++)

else if(*str1++從這個結構可以看出,你的指標迴圈一次加了兩次(if加了一次else if 又加了一次),這是導致你的字串比對出問題的原因。

注:在最後一次比對時,if比對不為真,指標加一,else if 比對下乙個字元又不為真,指標加一,執行else語句,而這時短字串已經指向了零,不在迴圈。返回0。

c程式的問題 20

14樓:匿名使用者

4、 a&3是用a跟00000011這樣乙個二進位製數(也就是3)進行「按位與」運算,「按位與」的規則是跟0與得0,跟1與保持原樣,所以這個按位與運算的結果是取得a的最後兩個二進位制位表示的值。

a%4是計算a除以4的餘數,在計算機裡,數都是用二進位制表示的,每乙個二進位制位的權值從後向前依次是……除以4的餘數就是不足4的部分,也就是最後兩個二進位制位表示的值。

所以,不管a的值是幾,這兩個的運算結果總是相等的。

9、 陣列名表示的是乙個位址,*是通過位址訪問變數,不需要是指標,所以可以*a。關於++,比如有這樣乙個定義:int i=5;之後我們可以用i++,但我們不可以用5++。

而陣列名所表示的位址實際上就是乙個具體的數,比如0xffffffb0,我們不能對乙個位址進行a++運算,如果用乙個指標(int*p=a;)來儲存這個位址,對指標我們可以p++。你也可以這麼理解:陣列名是乙個位址常量,不能++。

C 程式求問,求解C 乙個程式設計問題

顯然不是 前乙個帶引數。後乙個是在函式內部定義的變數。等價,兩者都實現了在函式內部宣告字元變數。第乙個 定義乙個char型別的函式,該函式可以接收兩個char型別的引數,該函式功能未知 由函式體決定 第二個 定義乙個沒有引數的char型別的函式,該函式的功能是定義兩個char型別的變數。不等價的。首...

C中有疑問C中有乙個疑問

首先要了解,int型別一般為32位二進位制表示 32位作業系統下 char型別是8位二進位制表示。int a在記憶體中的二進位制存放為 0000 0000 0000 0000 0100 1110 0010 0000 計算器自己算一下,值為20000 char c a 如果用char型別來儲存int型...

C程式設計內聯函式題目,編寫乙個c程式,使用內聯函式,函式過載,求三角形矩形圓形的面積

inline round float r int main int argc,char argv 編寫乙個c 程式,使用內聯函式,函式過載,求三角形 矩形圓形 的面積 這麼簡單居然沒人回答。我來簡單的寫一下!include include using namespace std define pi ...