我正在學習C語言中的字元串。
如何使用scanf获取可以執行的字元串
scanf("%s",str1);
對於printf,您可以做
printf("The string is %s\n", str1);
我知道對於scanf来說,這是因為字元串只是一个指標的字元陣列,但是對於printf来說,如何像對int或float那樣放置變數名呢?
最新回復
- 5月前1 #
- 5月前2 #
在C中,作為陣列的變數用作函式引數時成為指向陣列第一个元素的指標-因此您的scanf()会看到指向記憶體的指標 (假設" str1"是一个陣列)。
在您的printf()中," str1"可以是指向字元串或字元陣列的指標(在這種情况下,printf()看到的引數將是指向陣列第一个元素的指標).
相似問題
- c:這些關於指標的陳述是否具有相同的作用?cpointers2021-01-11 22:25
- c:保證函式指標大小的是什麼?cpointerstypeconversionfunctionpointerssizeof2021-01-11 17:24
- 在C語言中,可以通過指標修改const變數吗?cpointersconst2021-01-10 19:25
- c:fgets()在末尾包含換行符cstringfgets2021-01-10 17:59
- c++:我们可以拥有多少級指標?c++cpointers2021-01-10 12:58
scanf
需要讀取變數的地址,並且字元串緩衝區已经表示為地址(指向記憶體中某个位置的指標,或者分解為指標的陣列)。printf
一樣,對待%s