關於C 的一道題目請教,關於C 類的一道題目

2022-06-03 07:50:11 字數 4705 閱讀 9220

1樓:匿名使用者

#include

void main()

//已此類推...int就把char改成int double就把.char改成double

就可以看到了

2樓:飄渺世間天

#include

#include

using namespace std;

#define typeinfo(_type_) \cout << setw(15) << #_type_": " << setw(2) << sizeof(_type_) << " byte(s). ";\

cout << setw(3) << sizeof(_type_) * 8 << " bits.\n"

int main()

3樓:

#include

using namespace std;

#define a(s) sizeof(s)#define m 100

void main()

4樓:匿名使用者

sizeof 運算子就可以輸出來

5樓:奇妙百貨鋪

例:cout << sizeof(long int) << endl;

關於c++類的一道題目

6樓:匿名使用者

首先是全域性物件base base1(5);的初始化base base1(5);呼叫建構函式base::base(int i):m_i(i)

,傳入的引數i為5,所以列印出step 5

進入main函式執行,第一句是printf("step 1\n");,所以列印出step 1

宣告base *a,呼叫建構函式,傳入的引數i為4,所以列印出step 4

執行delete a會呼叫到解構函式base::~base()

因為構造a的時候指定了m_i的值為4,所以這裡列印出step 4

程式結束會釋放全域性物件base1 ,會呼叫到base1的解構函式,base1的m_i是5,所以列印出step 5

手打不容易,給分吧

7樓:匿名使用者

全域性構造 》 main()構造 》 main()析構 》 全域性析構

step1是printf輸出,與類沒關係;分界點

8樓:

關於物件的生命週期

這裡說的很詳細

9樓:葉顒

#include "stdafx.h"

using namespace std;

//類data,t它可以是任何型別,但不知道具體用什麼型別,用t代替,其他人想用函式時,具體告訴t是什麼型別就好了

template class data

};template t data::sum() //類data的成員函式,t可為任意型別

關於c++的一道題目,跪求大神,師兄師姐解答,學渣感激不盡

10樓:當你開心請

//你的演算法不太對,可以藉助陣列來實現

#include

#include

void main()

{int newx=0,k,p,j,i=0;

unsigned long x,a;

int b[80];

cout<<"x=";

cin>>x;

cout<<"k=";

cin>>k;

a=x;p=k;

while(x>9)

{j=i++;

b[j]=x%10;

x=(x-b[j])/10;

if(x<9)

b[i]=x;

//cout

{cout<<"newx is "<

11樓:匿名使用者

else if(i=k)

其中newx=newx+a*b;應當取掉。

12樓:匿名使用者

你應該將else if(i==k)好吧 ,你這裡寫的也是錯的 是==,不是=

將else if(i==k)作為第一個條件if(i==k)else if(i

c++的一道題目?

13樓:老馮文庫

#include

#define n 10000

using namespace std;

int main()

cin>>key;

for(i=0; i

}if(i < n)

else

return 0;

執行測試:

14樓:小黑哎啊

#include

using namespace std;

int main()

int n,k,first=0,f=0;

int a[111];

cin>>n;

for(int i=1;i<=n;i++)cin>>a[i];

cin>>k;

for(int i=1;i<=n;i++)if(a[i]==k)

f=1;

first=i;

break;

if(f==1)

cout

cout<<"-1";

return 0;

c++的一道題目

15樓:匿名使用者

#include

#include

using namespace std;

bool isprime(int);

int main()

ofstream out("math.out");

int n;

in>>n;

int x=2;

for(;x

<<"no way";

return 0;

}bool isprime(int x)

c++的一道題目

16樓:匿名使用者

「return 200,100;」語法錯,編譯時會有警告性出錯資訊。

17樓:夕陽武士

逗號相當於一個並列運算,返回值為逗號之後的表示式.所以這裡返回的是100.

18樓:

返回值是:100;

return 語句後面跟著的是一個逗號表示式(200,100)。

逗號表示式的格式為:表示式1,表示式2,表示式3,...... ,表示式n

(1) 逗號表示式的運算過程為:從左往右逐個計算表示式。

(2) 逗號表示式作為一個整體,它的值為最後一個表示式(也即表示式n)的值。

(3) 逗號運算子的優先順序別在所有運算子中最低。

這裡的n=2,所以逗號表示式(200,100)的值為:100

19樓:匿名使用者

100逗號返回最右邊的值

關於c++中動態記憶體問題的一道題目

20樓:標苦運先

關鍵在於getmemory(char *p)使用指標引數p傳遞地址,而不是char *&,所以按照引數傳遞的「by value」語義,getmemory內部使用的p和呼叫時傳入的引數str不是一個物件,兩者的關係僅僅在於「p和str的內容相同」(這裡,就是兩者指向的地址相同)。

但是getmemory只是改變了p的內容,與str不相干!

21樓:皇家救星

你如果理解了指標的含義就會明白了,指標其實是一個長整型,他代表了記憶體的一個地址,通過這個長整型就能訪問到存放在該地址中的變數

在理解了這點的基礎上,將程式改寫成這樣

void getmemory(long p)void test(void)

你會看到str的值其實從頭到尾沒有變過,指向0地址而0地址是不允許你寫的,所以程式會崩潰

解決方法書上有說,你慢慢翻會看到的

-------------------------------------------

當然,現在記憶體越來越大,有些指標並不是長整型了,而是雙字,或者更大的型別

22樓:匿名使用者

標苦運先說正確了.

void getmemory(char *p)中:指標p是一個區域性變數,你讓它指向100個char記憶體的首地址,函式退出後,p銷燬,而且實際引數str根本跟p不是一個東西,因為你是傳值(雖然表面看起來是指標)呼叫函式,然後這段記憶體就無法操作了,導致記憶體洩漏.

strcpy(str, "hello world");

因為你的str=null;

即被視為沒有指向任何物件,所以對它的操作將使程式崩潰.(因為不知道該把"hello world"往哪個地方寫)

如果str指向了一段記憶體,但這段記憶體的大小小於"hello world",那麼會造成堆溢位.即使程式不崩潰,那也或許會執行時出錯.或者可能被惡意攻擊.

一道關於C 統計字元的題目

include include using namespace std void main cout cout 字元數為 因為eof的值要在讀到最後一個字元後再讀一次發現沒有了才會變成true,而這一次之後如果你再輸出一次就會把前一次讀進來的值輸出,成了11個。這裡,你上一次讀入的數就是0,而這次讀...

關於C 的一道題

還請樓主耐心去看,雖然沒有分,但學習的精神還是在的。不會的可以繼續問哦。第一條語句 point p1 10,20 執行的建構函式是point int x 0,int y 0 因此輸出call the default constructor 第二條語句 point p2 p1 執行的是第二個建構函式p...

問一道C語言的題目,問一道C語言題目

二進位制數不能像十進位制那樣 d直接輸出。如果想輸出一個數的二進位制可以通過函式把其轉成2進位制字串再將其輸出。itoa函式 原型 char itoa int value,char string,int radix 引數 int value 被轉換的整數,char string 轉換後儲存的字元陣列...