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:"
"
//pt指向字串"china"
cout
cout
//計算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";<="" p="">
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就跟這不一樣了
c 中字元陣列,如何轉成字串啊
97樂於助人 如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。例如 char c 10 this is 齋傲雲 在c 裡字串在記憶體的儲存方式就是按字串陣列的形式儲存的,所以不用轉換! du瓶邪 用cstring的getbuffer函式返回一個存放字元的頭指標,用一個char 來...
C 對字元陣列排序,c 中對於幾組字串的升序或降序排序怎麼做???
風若遠去何人留 與其它排序類似,字元陣列排序也是根據一定演算法,如冒泡法,將各個項值進行比較,並通過賦值交換位置即可。對於字元陣列,賦值和比較均與一般物件或變數不同。1 字元陣列比較 需要呼叫strcmp函式。int strcmp char s1,char s2 按照ascii碼比較,當s1和s2相...
c 中怎樣判斷兩個字元型陣列元素相等
狼道刀 直接用c 庫函式strcmp char a,char b 就可以比較出兩字串是否相等,對於字元型陣列也是一樣的,只要分別帶入陣列地址就可以了。函式返回0 表示相等 大於0表示字串a大於字串b 反之小於則串a小於b。而這裡的庫函式做的比較是一次比較字串中相同位置的單個字元的ascii得出的結果...