當前位置:首頁 » 編程語言 » c語言把指針以s列印
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言把指針以s列印

發布時間: 2022-12-23 11:16:36

c語言問題,str是一個指針的名字,為什麼用%s輸出,str前面不加*就能直接列印出hello world,加了*卻不行

str是指針變數,其中存放的是在常量區存放的字元串首地址
用%s輸出時,printf語句要求提供字元串首地址,給出str變數存放的首地址即可
*str是str指向的單元,即字元串第1個字元的內容'h',類型是char,並不是地址(指針)類型

㈡ C語言列印輸出指針數組

指針傳遞的實質就是傳遞首地址,要取地址裡面的數據就要叫*或者直接指定加[m],比如*argv,和argv[0]意思都是一樣的。

㈢ C語言指針輸出數據問題

這就是規則,格式符%s的含義就是:把對應的值看做一個地址,按位元組讀取,然後輸出讀取到的值所對應的ASCII碼,直到碰到0為止
p1是個地址,假設p1的值是1000(也就是數組a的起始地址),那麼從1000開始依次讀取到HIKARI\0 然後輸出
如果是*p1 那麼*p1是'H','H'的ASCII值是72, 那麼printf("%s",*p1); 就是從地址72開始讀取,也就是printf("%s",72); 而地址72是不允許用戶程序操作的,會出錯。
再舉個例子:
int a = 4407873;
printf("%s", &a);
會輸出ABC 因為變數a內存空間的值按位元組看就是'A','B','C','\0'

㈣ 寫程序(C語言),使用指針實現列印一維數組所有元素的操作。

#include
void main()
{
int a[100],*p;
int n,t;/*你所要輸入數字的個數*/
p=a;
printf("please input number n:");
scanf("%d",&n);
t=n;
while (n--)scanf("%d",p++);/*以此輸入要輸入的數字*/
p=p-t;
for(int i=0;i

㈤ 如圖,c語言中級問題,一級數組指針s用列印*s是啥意思

為什麼是輸出%d, *s, 不是應該輸出%p嗎
*s = p = &a;您可以試一下
int (*s)[6] = &arr;//定義了一個二維數組,每一行有6列;
s就是行指針, *s也就是第一行地址,也就是你賦值給的&arr,

㈥ c語言printf()輸出指針

#include<stdio.h>

intmain()
{

char*p="123";
printf("%s",&*p);
printf(p);
return0;
}

%s輸出時 要用&取變數地址,也就是printf("%s",地址);

而p指針代表的就是字元串"123"的地址值.

㈦ c語言,關於字元指針

首先指針變數s內存儲的是地址,所以列印s的值肯定是地址。
*s="abcde";這句代碼的意思是:將字元串「abcde」的首地址也就是「a」的地址賦值給指針變數s.
s+=2;這句代碼意思是s=s+2;即將s+2的地址賦給s,也就是字元「c」的地址,所以現在s的值為「c」的地址。
列印出「cde」:在原代碼的基礎上:
printf("%s",s);
滿意請採納,不懂請追問。

㈧ c語言關於列印指針所指的值的問題

只有一個問題,把printf("%s",*b);這一句中的「*」去掉,改成:
printf("%s",b);
就能列印「abc」了。
有什麼問題請留言。