當前位置:首頁 » 編程語言 » c語言指針字元串輸出

c語言指針字元串輸出

發布時間: 2022-05-15 11:30:02

c語言 字元串 指針 輸出

答案是D,輸出結果是CD
原因: 因為字元串以\0為結束符,所以*s實際上是abcd這四個字元。s+2就是加兩個元素的地址,即從c字元開始輸出。 所以答案是D

② c語言指針字元串求解答以下程序怎麼輸出這個看不懂

p = s;指針p指向字元數組s;指針變數p存儲的值就是字元數組首地址,也就是字元'A'的地址,*p就是字元'A';
q = s+6; 指針q指向字元數組的最後一個字元;指針變數q存儲的是字元數組最後一個元素的地址,也就是字元'G'的地址,*q 就是字元'G';

p的值肯定小於q的值,進入循環;
ch = *p++;*p就是字元'A';賦值給ch的也就是字元'A';然後執行p++;p指向字元數組的第二個元素;
*p = *q--; p此時指向的是字元數組的第二個元素;*q就是字元數組的最後一個字元'G',把'G'賦值給字元數組的第二個元素;然後執行q--;q指向字元數組的倒數第二個元素;
*q = ch;此時q指向了字元數組的倒數第二個元素,也就是個倒數第二個元素賦值'A';
再次循環,
p的指向相當於遞增,q的指向相當於遞減;直到p和q的指向相鄰時while的條件為假,退出循環;

③ c語言中如何輸入輸出字元串

在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。

字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』'。輸入串長度應小於字元數組維數,字元串中可以包含空格。

字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'')。字元數組必須以''結束。

示例代碼如下:

#include<string.h>

int main()

{

char str[40];

printf("請輸入字元串");

gets(str);

printf("請輸出字元串");

puts(str);

system("pause");

return 0;

}

(3)c語言指針字元串輸出擴展閱讀

在C中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作。

流式文件操作,這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,此類文件操作常用的函數及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的頭文件。

④ 一個c語言指針輸出字元串的問題

不是*t=ch;而是t=&ch; t還是個野指針,直接操作*t是非常不安全的
#include<stdio.h>
int main()
{
char *ch="asfsdfasd",**t;
t=&ch; //不是*t=ch;而是t=&ch;
printf("%s",*t);
return 0;
}
如果一定要*t=ch,就要先給t分配空間:
#include<stdio.h>
#include <malloc.h>
int main()
{
char *ch = "asfsdfasd", **t;
t = (char**)malloc(sizeof(char*)); //給t分配一個char*的空間
*t = ch;
printf("%s", *t);
free(t);
return 0;
}

⑤ c語言中請問用指針怎麼倒序輸出字母漢字混合字元串

僅僅是字母的倒序輸出很容易。如abcde直接倒序edcba.
如果包含漢字就有點麻煩。
如果你用的VC
6.0.字元串是ASCII碼(不是unicode,也稱為多位元組)。漢字占兩個位元組,對這2個位元組不能顛倒。
否則是亂碼。當然,也有一些解決方案。因為字母都為正數,而漢字的位元組是負數。由此
可以判斷什麼時候可以倒序。
如果是vs
2008或類似平台字元串是且字元串是寬位元組(unicode)。問題也好處理。如果是多位元組,
按上述方法處理。

⑥ C語言,如何輸出兩個指針間的字元串

有三種方法可供使用。

為方便描述,以下設定兩個指針分別為char *類型的p1和p2,其中,p1<p2。


1 按位元組輸出。
使用putchar從*p1一直輸出到*p2。樣例代碼如下:

while(p1<p2)
{
putchar(*p1++);
}



2 將p2位置作為字元串結束點,臨時賦值為0,並在輸出後恢復。

示例代碼如下:
chart=*p2;//臨時變數
*p2=''//賦值結束符
printf("%s",p1);//輸出
*p2=t;//恢復



3 開辟一段內存,將需要輸出的內容復制進去,然後再輸出,不改變原本的p1,p2值。
示例代碼如下:
char*t;
intlen=p2-p1;
t=(char*)malloc(len+1);//注意留一個空間給結束符
memcpy(t,p1mlen);
t[len]=''
printf("%s",t);
free(t);
t=NULL;

⑦ c語言中將字元串用指針數組輸入輸出..

首先確定是字元指針數組還是字元數組指針,前者是一個數組,數組每個元素都是一個字元指針,後者是一個指向字元數組的指針。
若是指向字元數組的指針,則很簡單,使用scanf("%s",
str);函數獲取輸入的字元串,然後使用字元串拷貝函數strcpy(stc,
dest);將獲取的字元串拷貝到指定地址的字元指針數組中,拷貝過程中注意檢查訪問數組是否越界,若越界,則需要在字元數組的最後一個元素賦值為結束符'\0'。
若是賦值
字元指針數組,那麼就是對數組中的某一個元素指向的字元數組進行拷貝賦值,其過程與前者相同。

⑧ c語言用指針輸出字元

printf("%c\n", *(string+7));會輸出一個字元g,而printf("%s\n", (string+7));會輸出girl.。
printf("%s\n", (string+15));會發生數組越界訪問錯誤。

⑨ 為什麼c語言用指針輸出字元串不用加*號

為什麼c語言用指針輸出字元串不用加*號?因為char*STR定義了一個char*字元指針STR,而STR指向了ILOVECHINA中的第一個字元I。
在cout流中有一個復制循環,它是一個具有數百個輸出STR點的字元串,在這個字元串中,STR被賦值給臨時指針,以便一個接一個地輸出。
然後*STR是一個字元,也就是I*是一個derecration,也就是STR指向的那個字元,所以*STR就是I這個不能被賦值或移位所以它不能被列印出來。
(9)c語言指針字元串輸出擴展閱讀:
關於字元串指針
1.字元數組中存儲一個度字元串
Char字元串[]="LinuxC";
Printf("%s\n",字元串);
字元串是一個字元數組的名稱,它也是應答字元數組的第一個地址。
2.使用字元串指針指向一個字元串
如果你不想定義一個字元數組,你可以用一個指針指向一個字元串,稱為「字元串指針」,例如:
Char*p="LinuxC";
Printf(「%s\n」,p);
「LinuxC」是一個字元串常量。字元串常量的C語言:在內存中打開一個字元數組來存儲字元串常量,並將打開的字元數組的第一個地址保存到p。

熱點內容
什麼手機安卓系統80 發布:2024-04-20 21:37:29 瀏覽:379
浙江萬里的伺服器地址 發布:2024-04-20 21:16:59 瀏覽:407
ndklinux下載 發布:2024-04-20 21:05:22 瀏覽:566
王者榮耀解壓資源包97 發布:2024-04-20 20:46:10 瀏覽:397
蘋果手機沒有密碼怎麼打開 發布:2024-04-20 20:45:25 瀏覽:93
如何用濃硝酸配置百分之2的硝酸 發布:2024-04-20 20:44:39 瀏覽:797
微信商城java源碼下載 發布:2024-04-20 20:27:35 瀏覽:121
用友軟體sql 發布:2024-04-20 20:10:01 瀏覽:933
python倒著循環 發布:2024-04-20 20:09:52 瀏覽:759
雲伺服器遠程電腦版 發布:2024-04-20 20:09:12 瀏覽:259