C 的一點問題。char name為什麼一定要用,主要的是為什麼程式出錯了。我想輸入名字,找出那個資訊。謝

2021-04-20 19:03:46 字數 4449 閱讀 1004

1樓:雲澹楓卿

#include

#include

using namespace std;

struct student

;int main(),,

};cout<<"請輸入學生學號:";

cin>>xuehao;

cout<<"請輸入學生的姓名:";

cin>>mingzi;

for(int i=0;i<3;i++)

return 0;}

2樓:匿名使用者

const int n = 10;

char mingzi[n];

stu.[i]name 寫錯了,改一下。

char只能容納一個字元,明顯名字是由多個字元組成的。

3樓:匿名使用者

難道樓主不知道,指標必須分配記憶體後才能用,你一個記憶體分配的**都沒有,不錯才怪

4樓:灰色

strcmp(stu.[i]name,mingzi)==0這句話錯了,正常寫應該是strcmp(stu[i].name,mingzi)==0

c++中的?是什麼意思.還有:是啥 5

5樓:a羅網天下

c++中的「?」是三目條件運算子之一的表示式一(?:)

"?"運算子的含義是:先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果;如果表示式1的值為假,則執行表示式3,並返回表示式3的結果。

「:」用法1表示機構內位域的定義(即該變數佔幾個bit空間),用法2是建構函式後加冒號是初始化表示式:

如:istack( int capacity ) : _stack( capacity ), _top( 0 )

c++中的算術運算子包括基本的算術運算子和自增、自減運算子。由算術運算子、運算元和括號構成的表示式稱為算術表示式。

基本算術運算子有:+(加)、-(減或負號)、*(乘)、/(除)、%(取餘)。其中「-」作為負號時為一元運算子,其餘都為二元運算子。

這些基本算術運算子的意義與數學中相應符號的意義是一致的。它們之間的相對優先順序關係與數學中的也是一致的,即先乘除、後加減,同級運算自左向右進行。使用算術運算子要注意以下幾點:

1、「%」是取餘運算,只能用於整型運算元。表示式a%b的結果為a/b的餘數。 「%」的優先順序與「/」相同。

2、當「/」用於兩整型運算元相除時,其結果取商的整數部分,小數部分被自動捨棄。因此,表示式1/2的結果為0,這一點需要特別注意。

3、c++中的「++」 (自增)、 「--」 (自減)運算子是使用方便且效率很高的兩個運算子,它們都是一元運算子。這兩個運算子都有前置和後置兩種使用形式。

6樓:足壇風行者

c++中?和:單獨使用沒有特殊含義,合起來用時可以表達三目運算子,又稱條件運算子。

條件運算子強大而獨特,它提供了一種表達簡單 if-else 語句的簡寫方法。該運算子由問號(?)和冒號(:)組成,其格式如下:

《表示式1>?《表示式2>:《表示式3> ;

含義是: 先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假,則執行表示式3 ,並返回表示式3的結果。

擴充套件資料

三目運算子一定要用於賦值語句,三目運算子的應用例項:

例如:x < 0 ? y = 10 : z = 20;

這個語句由 3 個子表示式組成,使用問號 ? 和冒號 : 分隔。這 3 個表示式分別是:x<0,y = 10 和 z = 20。

計算方式是如果條件x < 0是真的,則執行y = 10語句;否則,執行z = 20。

所以當x=-1時,x < 0 ? y = 10 : z = 20的最終結果為y=10。

7樓:匿名使用者

c++中  ? 和 : 只有一個,組合在一起作為三目運算子。例如:a = b ? c : d b,c,d,為表示式,如果b為真,則a=c,b為假,則a=d。

例求整數a,b的最大值表示為a>b ? a : b。

8樓:匿名使用者

c++中,「?」與「:」共同組成三目條件運算子(?:)三目條件運算子(?:)使用例子如下:

x ? y:z;

上面的三目條件運算的規則是:先計算表示式x的值,若x為真,則整個三目運算的結果是表示式y的值;若x為假,則整個三目運算的結果是表示式z的值。

下面的例子為從兩個數中找出較大的程式:

int a=3,b=4;

int max=a>b?a:b;

max的值為4。

c++在函式宣告時,後面跟個const是什麼意思?

9樓:幻翼高達

c++在函式宣告時,後面跟個const是限定函式型別為常成員函式, 常成員函式是指不能改變成員變數值的函式。

例如「double d() const;」,其中的其中的「const」限定了d()函式中不能有任何改變其所屬物件成員變數值的功能,如果有則會在編譯階段就報錯。

它的主要作用就是能使成員函式的意義更加清楚,我們可在不改變物件的成員函式的函式原型中加上const說明。在需要增加可讀性和減少邏輯出錯的情況下,就可以用這種形式。

我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是"只讀"函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。

另外,它還能提高程式的可靠性,已定義成const的成員函式,一旦企圖修改資料成員的值,則編譯器按錯誤處理。

10樓:釗鉼

const是一個c語言(ansi c)的關鍵字,具有著舉足輕重的地位。它限定一個變數不允許被改變,產生靜態作用。

使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別人**的時候,清晰理解const所起的作用,對理解對方的程式也有一定幫助。另外const在其它程式語言中也有出現,例如pascal、c++、php5、b#.

net、hc08 c、c#等。

const的作用:

1、可以定義const常量,具有不可變性。

2、便於進行型別檢查,使編譯器對處理內容有更多瞭解,消除了一些隱患。

3、可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!

c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式設計語言的問題描述能力。

11樓:匿名使用者

這兒的const就是說這個函式操作不會對變數或是物件之類的值有影響 比如你有一個human類 你現在要得到某個human類物件a的age 那麼肯定是不會因為你想得到這個值而改變了age的大小 對吧 那麼你就可以寫一個函式int getage()const這樣就好 這麼做是為了防止你在函式中對不應該在這裡改變的量不小心進行了改變

12樓:韌勁

非靜態成員

函式後面加const(加到非成員函式或靜態成員後面會產生編譯錯誤),表示成員函式隱含傳入的this指標為 const指標,決定了在該成員函式中,任意修改它所在的類的成員的操作都是不允許的(因為隱含了對this指標的const引用);唯一的例外是對於 mutable修飾的成員。加了const的成員函式可以被非const物件和const物件呼叫,但不加const的成員函式只能被非const物件調 用。例如:

class a

int geta() const

int geta()

int seta(int a) constint seta(int a)

};a a1;

const a a2;

int t;

t = a1.geta();

t = a1.geta();

t = a2.geta();

t = a2.geta(); //a2是const物件,呼叫非const成員函式產生編譯錯誤。

13樓:淼淼

const修飾說明它是一個常量,它的值是不能被修改的。沒有什麼地方是必須要用的,你只要覺得這個數字你不會改變就可以用。一般在函式傳遞引數中用的比較多,你可以看看c語言的庫函式引數中很多都是用const修飾的。

比如字串拷貝的宣告函式char *strcpy(char *dest,const char *src); 後邊的形參用了const修飾,在函式定義中src的值就不能被改變,dest的值就可以被改變,也是一種提示的作用說明字串是從src拷貝到dest中

如圖,點C為線段AB上一點,CBa,DE兩點分別為AC

設ac x,ad x 2,ae a x 2 de ae ad a 2 如圖,點c為線段ab上一點,cb a,d e兩點分別為ac ab的中點,則線段de的長為a2a2 用含a的代數式表示 設ac x,根據題意得 ab ac cb x a,又 d e分別為ac ab的中點,de ae ad 1 2 a...

VB的一點小問題,關於VB的一點小問題。

假定 原文 文字框是text1,輸出 文字框是text2,複製 按鈕是command1,結束 按鈕是command2。介面自己搞定。如下 private sub command1 click text2.text text1.seltextend sub private sub command2 c...

C大型專案除錯修改的一點問題,每次修改都要全部生成嗎

如果是調樣式 你可以下個火狐 然後用firebug調樣式 即時出效果 選單 生成 生成解決 方案或者 在解決方案上,右鍵選單 生成解決方案 屬於 增量編譯 專 即只編譯被修改的項屬目。如果,選單 生成 重新生成解決方案或者在解決方案上,右鍵選單 重新生成解決方案屬於 全部編譯 即重新編譯解決方案中的...