1樓:網友
一樓正解,這是很基礎的知識。還是多看看書吧,c++的指標比較複雜,不過功能也最強大。
2樓:網友
第乙個輸慎脊鎮肆出是9,第二個輸出是乙個32位的位址。
p是指標,所謂指標就是記憶體的位址。而*p就是這個記憶體位址p中放的寬旅滲資料。
是取位址符號。意思就是把變數k的位址取出放到p中。
3樓:網友
第一行輸出的是k的值。第二行輸出的是k變數的位址。
c語言如何輸出指標所指向的值
4樓:幻翼高達
需要準備的材料分別有:電腦、c語言編譯器。
1、首先,開啟c語言編譯器,新建乙個初始。cpp檔案,例如:。
2、在檔案中,輸入c語言**。
3、編譯器執行檔案,此時成功輸出了指標p所指向的變數q的值。
5樓:灩麗
1、首先輸入標頭檔案以及主函式框架後,我們定義變數,並初始化。
2、然後我們就可以輸入printf準備輸出。
3、但是,這個時候,我們格式控制符就有區別了,我們應該輸入【%p】。
4、然後我們輸入我們要輸出的指標。
5、我們會發現**視窗中,沒有報錯。這時,我麼便可以看到執行結果。
<<的c++輸出操作符
6樓:網友
在c++裡面我們把《當作輸出操作符,它是stream這個類裡乙個重要的運算子。
在c++中,有乙個stream這個類,所有的i/o都以這個「流」類為基礎的,包括我們要認識的檔案i/o,stream這個類有兩個重要的運算子:
1、插入器(<<
向流輸出資料。比如說系統有乙個預設的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<>)
從流中輸入資料。比如說系統有乙個預設的標準輸入流(cin),一般情況下就是指的鍵盤,所以,cin>>x;就表示從標準輸入流中讀取乙個指定型別(即變數x的型別)的資料。
和其他的函式沒有什麼區別。c/c++追求的就是簡潔,當大量的輸出需要處理的時候,我們用函式就要這樣,;;但是用操作符的話就可以這樣,cout<<>
c指標與輸入的問題
7樓:匿名使用者
答案a是正確的。%str,表禪察示陣列str的首位址,語句scanf的意思是從str的首位址開始。輸入乙個字串,由於str是乙個字元型陣列,所以可以直接輸入20個字元,分別存放在以str[0]開始到str[19]結束。
b是錯的,p是乙個指標變數,沒有賦隱襲粗上具體的位址,你灶鎮輸入的字元該存到哪個位址是不確定的。所以是錯的。
c也是錯的,str是乙個字元型陣列,只能分別存放20個字元,而要輸入乙個字串給str[2],這顯然是不行的。
答案d和c是同樣的道理。
8樓:匿名使用者
scanf在讀取輸入的資料時需要使用目標變數的位址,可公升爛以通過&符號獲取位址。
a——str是個字串,即字元陣列,變數名就是字串的位址,scanf使用&str錯誤,應該直接使用str,或者雀昌使用&str[0]
b——scanf沒有錯,錯的是指標p沒有分配空間,此時,p指向null(0)
d——同a,定義沒有錯吵歲漏,錯的是scanf使用的內容。
定義的結果是指標p和字串陣列str完全相同(指向相同的位置),此時,p[2]指的是第三個字元,不是位址。正確的應該是&p[2](這裡不考慮結果的正確,如果考慮結果,應該是&p[0])
9樓:匿名使用者
c是正確的,你str[2]只是乙個字元啊!不能賦值為字串。
c語言輸出,c語言輸出
首先解釋為什麼是負值 因為溢位了 111111 111111 12345654321超出了int能表示的範圍 可能你要問 不是已經 lld了嗎 沒錯 lld是用於long long型別的,但只代表輸出的時候按照longlong的型別輸出,並不能影響後面引數的實際型別對於整型常數,c語言預設都是int...
c無法根據字元指標輸出 裡面的內容
由於char newstring 100 的作用域在函式mid中,退出函式時被釋放,所以p指標指向地址就沒有了 修改後 include include include include using namespace std char mid char oldstring,int start int ...
c語言中變數指標輸出問題,C語言中變數指標輸出問題
這和printf用 s的規則相關。首先ps是一個指向字元型資料的指標 printf用 s修飾輸出時需要提供一個指標,這個指標指向的資料是字元型的,但printf將按照字串的規則來進行輸出,也就是輸出完這個指標指向的字元後,自動將指標加1,並判斷指向的字元是否為0,否則將輸出直至指向的資料為0為止,或...