1樓:匿名使用者
顯然不是 前乙個帶引數。
後乙個是在函式內部定義的變數。
2樓:匿名使用者
等價,兩者都實現了在函式內部宣告字元變數。
3樓:松雪飛楊
第乙個:定義乙個char型別的函式,該函式可以接收兩個char型別的引數,該函式功能未知(由函式體決定)。
第二個:定義乙個沒有引數的char型別的函式,該函式的功能是定義兩個char型別的變數。
4樓:匿名使用者
不等價的。首先,就子函式內部的變數個數來說的話,這兩個函式都宣告了兩個內部變數,並且都為char型,變數名也都為c1,c2
但是,注意一下,從函式的角度來看,雖然這兩個函式都宣告了兩個內部變數,但是這兩個函式是不等價的,因為他們的引數完全不同:
char letter(char c1,char c2) /有兩個引數,分別為char c1,char c2,外部函式呼叫letter()時,必須傳入兩個引數值。
char letter()/沒有引數(引數為void),外部函式呼叫letter()時,不用傳入引數。
所以是不等價的。
5樓:網友
第乙個是函式,第二個是結構。
求解c++乙個程式設計問題
6樓:匿名使用者
這個程式是輸入ch,然後列印ch+1,即acsii碼表中ch的下乙個字元。
因此輸入字元'a',會輸出字元'b'
輸入字元'n',會輸出字元'o'
空格的下一位正是嘆號。
因此嘆號不是因為輸入回車,是因為輸入的是空格。
而**中顯示,輸入換行符'',輸出的仍為換行。
c++簡單問題
7樓:邢昭汝詩霜
cout提供了控制符:
dec、hex和oct,分別用於指示cout以十進位制、十六進位制和八進位制格式顯示整數。
cout/結果為:2a
8樓:匿名使用者
char *s;scanf(「%s」,s);puts(s);
沒有給s分配記憶體,所以不能接收資料,而不是格式問題,因此,改成char *s;scanf(「專%s」,&s);puts(s);,仍然不行!
b應改成char s[6]=;puts(s);
因為puts(s)中的s要有字串結束標誌,否則後面會輸出亂碼!
c++程式疑問
9樓:網友
思路沒問題,但考慮不周,編碼時細節出錯。最主要是不能用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}
10樓:匿名使用者
你的m都沒有變··改什麼··
c++的問題
11樓:網友
在c++中,可以為引數指定預設值。在函式呼叫時沒有指定與形參相對應的實參時, 就自動使用預設引數。
預設引數的語法與使用:
(1)在函式宣告或定義時,直接對引數賦值。這就是預設引數;
(2)在函式呼叫時,省略部分或全部引數。這時可以用預設引數來代替。
注意:(1)預設引數只可在函式宣告中設定一次。只有在無函式宣告時,才可以在函式定義中設定。
(2)預設引數定義的順序為自右到左。即如果乙個引數設定了預設值時,其右邊的引數都要有預設值。
如:int mal(int a, int b=3, int c=6, int d=8) 正確,按從右到左順序設定預設值。
int mal(int a=6, int b=3, int c=5, int d) 錯誤,未按照從右到左設定預設值。c設定預設值了,而其右邊的d沒有預設值。
(3)預設引數呼叫時,則遵循引數呼叫順序,自左到右逐個呼叫。這一點要與第(2)分清楚,不要混淆。
如:void mal(int a, int b=3, int c=5); 預設引數。
mal(3, 8, 9 );呼叫時有指定引數,則不使用預設引數。
mal(3, 5); 呼叫時只指定兩個引數,按從左到右順序呼叫,相當於mal(3,5,5);
mal(5); 呼叫時只指定1個引數,按從左到右順序呼叫,相當於mal(5,3,5);
mal( )錯誤,因為a沒有預設值。
mal(3, ,9) /錯誤,應按從左到右順序逐個呼叫。
再如: void mal(int a=8, int b=3, int c=5); 預設引數。
mal( )正確,呼叫所有預設引數,相當於mal(8,3,5);
(4)預設值可以是全域性變數、全域性常量,甚至是乙個函式。但不可以是區域性變數。因為預設引數的呼叫是在編譯時確定的,而區域性變數位置與預設值在編譯時無法確定。
12樓:匿名使用者
#include
using namespace std;
struct output
;class time:public output;class date:public output;time::
time(int h,int m,int s)date::date(int m,int d,int y)void date::display()
void time::display()
void display(output& ot)int main()
另外,團idc網上有許多產品**,便宜有口碑。
13樓:
預設引數就像擬定乙個列舉陣列,在沒有給數組成圓賦值的情況下,是從0 1 2 3 ……這樣開始的。
14樓:匿名使用者
其實就是少寫一些**,沒有啥特別用處。
c++問題。
15樓:匿名使用者
變數的生存期取決於它的 儲存型別!
從變數的作用域的角度將變數分為區域性變數和全域性變數兩種。區域性變數定義在函式體內,函式被呼叫時,區域性變數才臨時的被建立,函式執行完後,區域性變數自動被銷毀;全域性變數是定義在整個程式空間內的,在開始執行程式時被建立,整個程式執行完了才會銷毀,因此乙個變數(無論是全域性還是區域性變數)都有乙個「建立」、「生存」、「銷毀」的過程,從這個意義上說變數是有「壽命」或存在「生存期」的。
變數的生存期取決於它的儲存型別。所謂「儲存型別」是指系統為變數分配的具有某種特性的儲存區域,儲存區域一般分為兩種:靜態儲存區和動態儲存區。
存放在靜態儲存區中的變數在程式執行初期就被建立,它們的壽命往往與程式同步;存放在動態儲存區中的變數是臨時性的,在程式執行期間隨時會被撤銷。
16樓:月下谷中
有建立的方式決定細節}
2.堆void funcclear(char *e)void main()
//程式結束後洩露了c的5個char,由於被世人所遺忘,在孤獨角落裡等待。
}3.沒事可以研究下funcclear(a)會出現什麼事情,和用不同的結構體試試。}
17樓:
在外面定義變數,生存期是程式執行完成,在括號裡面定義出了生存期就是在這個括號裡。
c++的問題
c++簡單問題
c 的乙個程式疑問,求解C 乙個程式設計問題
你首先要明白的是string 是什麼,它和char 不一樣,新手會誤以為string和int,char,char 類似,是個資料型別,其實不然,string是乙個類。string string1,string2,temp 表示定義了3個string類的類物件,他們的名字分別是string1,stri...
請教C 的程式設計問題,請教乙個C 的程式設計問題
題目已經說得很清楚了呀 只要 code就行了呀,樓主 語法都不熟悉可不行,先去看符號過載,這個很重要的 特別是以後用stl boost 以及泛型程式設計的時候 operator8條規則 基本規則 1.一元操作符可以是不帶引數的成員函式 1 或帶乙個引數的非成員函式 1 2.二元操作符可以是帶乙個引數...
關於c語言程式設計求程式,關於C語言程式設計,求程式
用switch 不是很好解決嗎 如果不給懸賞分,誰會願意做,你說呢,也不是吃白飯的 前者使用struct 後者使用stl map 沒有什麼演算法 編寫程式,求10 用c語言 include 主函式 main s是字元指標抄 陣列。對應4個字串襲。迴圈中bai i 3 2 1 0 對於不同的i,j有不...