1樓:最大的寶寶
如果你想輸出ps的地址,可以使用&ps,而ps的用法,在c++實現中是輸出它指向的內容。“流”使用很抽象的類别範本來實現,**雖然是公開的,但至少先把stl或atl的基礎弄懂才可能讀懂它
2樓:匿名使用者
我認為cout是類ostream的物件,而ostream的定義是typedef basic_ostreamostream,顯然ostream類是類别範本basic_ostream的一個例項,ostream操作物件都是char型別。那麼cout作為類ostream的例項,必然也是以char為預設操作物件。從人的使用習慣來看也是一樣,既然呼叫了cout一般是為了輸出字元而不是一個地址。
如果你是cout的開發者肯定首先想到的是輸出字串,而不是一個地址。
3樓:攻扶嘉
首先我們要明確一點,在這兩行的*號的意義是不一樣的,前面一行是定義了一個指標陣列和一個指標變數;第二行是讀地址符。
*s[1]指讀取陣列s的第二行首字元
ps本身是指向陣列s的一級指標,所以,輸出ps就像輸出用一級指標定義的一個字串一樣,會輸出它的內容。
4樓:匿名使用者
因為庫函式裡對cout過載了,允許這種輸出
c++怎麼用cout輸出字串
5樓:狼道刀
如果你是用char定義了字元陣列的話, 直接輸出字元陣列名就行了,如果你用的string類, 同樣直接輸出。
**如下:
#include
#include
using namespace std;
int main()
擴充套件資料
c++的輸入輸出流:
輸入和輸出是資料傳送的過程,資料如流水一樣從一處流向另一處(單方向、一維)。c++形象地將此過程稱為流(stream)。c++的輸入輸出流是指由若干位元組組成的位元組序列,這些位元組中的資料按順序從一個物件傳送到另一物件。
實際上,在記憶體中為每一個資料流開闢一個記憶體緩衝區,用來存放流中的資料。當用cout和插入運算子“<<”向顯示器輸出資料時,先將這些資料送到程式中的輸出緩衝區儲存,直到緩衝區滿了或遇到endl,就將緩衝區中的全部資料送到顯示器顯示出來。
在輸入時,從鍵盤輸入的資料先放在鍵盤緩衝區中,當按回車鍵時,鍵盤緩衝區中的資料輸入到程式中的輸入緩衝區,形成cin流,然後用提取運算子“>>”從輸入緩衝區中提取資料送給程式中的有關變數。總之流是與記憶體緩衝區相對應的,緩衝區中的資料就是流。
在c++中,輸入輸出流被定義為類。c++的i/0庫中的類稱為流類(streamclass)。用流類定義的物件稱為流物件。
cout和cin並不是c++語言中提供的語句,它們是iostream類的物件。
正如c++並未提供賦值語句,只提供賦值表示式,在賦值表示式後面加分號就成了c++的語句,我們習慣稱之為賦值語句。
在c語言中常用printf和scanf進行輸出和輸入,printf和scanf是c語言庫函式中的輸入輸出函式,一般也習慣地將由printf和scanf函式構成的語句稱為printf語句和scanf語句。在使用它們時,對其本來的概念要有準確的理解。
6樓:笨笨地攤貨
#include #include //不要忘記包含此標頭檔案using namespace std;int main()
{ int a; cout<<"input a:";
cin>>a; cout<<"dec:"/以十進位制形式輸出整數cout<<"hex:"/以十六進位制形式輸出整數acout<<"oct:
"/以八進位制形式輸出整數achar *pt="china";
//pt指向字串"china"
cout/指定域寬為,輸出字串
cout/指定域寬,輸出字串,空白處以'*'填充double pi=22.0/7.0;
//計算pi值
//按指數形式輸出,8位小數
cout cout<<"pi="/改為小數形式輸出return 0; 拓展資料: c++是一種物件導向的計算機程式設計語言,由美國at&t貝爾實驗室的本賈尼·斯特勞斯特盧普博士在20世紀80年代初期發明並實現(最初這種語言被稱作“c with classes”帶類的c)。它是一種靜態資料型別檢查的、支援多重程式設計正規化的通用程式設計語言。它支援過程化程式設計、資料抽象、物件導向程式設計、泛型程式設計等多種程式設計風格。 c++是c語言的繼承,進一步擴充和完善了c語言,成為一種物件導向的程式設計語言。c++這個詞在中國大陸的程式設計師圈子中通常被讀做“c加加”,而西方的程式設計師通常讀做“c plus plus”,“cpp”。 7樓:高_婷婷 c++裡cout太自作聰明瞭,為了省去我們迴圈輸出字元的麻煩,cout<命令如下: void main() {char *p2="abcd"; cout<<*p2<輸出結果如下:0046f020才是p的值,0013ff7c實際為&p. aabcd 0013ff7c 0013ff7c 0046f020 press any key to continue 8樓: #include using namespace std; void main() c++中,陣列名代表首元素的地址,那為何cout字元陣列名輸出的確實整個陣列?而不是首元素? 9樓:匿名使用者 cout不是 baiiostream中的嗎du? #include using namespace std; int main() 為什麼c++中無法用cout輸出字串 10樓:風若遠去何人留 用cout輸出字串是可以的。大前提是當前名空間需要是std。即**中使用了 using namespace std; 或者單獨宣告使用cout,即**中有 using std::cout; 否則需要使用 std::cout進行輸出。 在c++中有兩種字串的概念。 1 string 類物件字串。需要使用std名空間,或者宣告使用std::string。 定義時string s1 = "string"; 輸出時cout< 2 字元陣列。 c語言中字串以字元陣列形式儲存,並約定以\0作為結束符。 當定義char s2[100] = "char array"; 時,輸出時使用 cout << s2; 11樓:欲成仙奈何為魔 標頭檔案寫沒寫錯?名稱空間有沒有宣告?最容易犯的錯誤就是這兩個了。最好把程式全發上來。還有,編譯器有沒有說錯誤? 12樓:匿名使用者 沒有整個的程式,特別是main函式,不知道你出的什麼錯誤,或者和整個函式無關的錯誤呢? 因為單從這個函式看,好像沒有太大問題。 13樓:匿名使用者 c++的標準輸出流就是cout,你的用法也是對的! 是不是沒有使用作用域說明:using namespace std;? 你給個完整的程式,或者把錯誤原因發一下? 14樓:匿名使用者 while(p) 15樓:萌寵奇趣秀 使用cout和cin必須呼叫標頭檔案 #include"iostream" using namespace std; 16樓:匿名使用者 #include using namespace std; 17樓: 標頭檔案加一個#include試試 18樓:倒黴熊 首先 這樣是可以輸出的 請問:提示的什麼錯誤,還是什麼也沒有輸出啊 你怎麼賦值的?? c++中,如果cout 或者cin char型別的陣列名,指標,都會把字串輸出,而不是輸出地址, 19樓:風若遠去何人留 對於char*或者char 會輸出字串如果是string型別,如果你輸出string本身,那麼輸出的是字串 如果你輸出的是string陣列的陣列名,那麼輸出的是地址。 比如string a[2] = ; 如果cout>>a[0]; 那麼輸出的就是 111111 如果用cout << a; 那麼輸出的就是a的地址。 20樓:匿名使用者 char*是字串,最後面有'\0'結束標誌,所以輸出的是字串,這個比較特別吧,string就跟這不一樣了 97樂於助人 如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。例如 char c 10 this is 齋傲雲 在c 裡字串在記憶體的儲存方式就是按字串陣列的形式儲存的,所以不用轉換! du瓶邪 用cstring的getbuffer函式返回一個存放字元的頭指標,用一個char 來... 風若遠去何人留 與其它排序類似,字元陣列排序也是根據一定演算法,如冒泡法,將各個項值進行比較,並通過賦值交換位置即可。對於字元陣列,賦值和比較均與一般物件或變數不同。1 字元陣列比較 需要呼叫strcmp函式。int strcmp char s1,char s2 按照ascii碼比較,當s1和s2相... 狼道刀 直接用c 庫函式strcmp char a,char b 就可以比較出兩字串是否相等,對於字元型陣列也是一樣的,只要分別帶入陣列地址就可以了。函式返回0 表示相等 大於0表示字串a大於字串b 反之小於則串a小於b。而這裡的庫函式做的比較是一次比較字串中相同位置的單個字元的ascii得出的結果...c 中字元陣列,如何轉成字串啊
C 對字元陣列排序,c 中對於幾組字串的升序或降序排序怎麼做???
c 中怎樣判斷兩個字元型陣列元素相等