日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言案例——输入一个字符串,将其逆序输出

發布時間:2025/4/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言案例——输入一个字符串,将其逆序输出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串常量可以賦值給一個字符指針或者一個字符數組,比如:
?/*1*/char *str = “this is a string”;
/*2*/char str2[]= “this is a string”;
/*3*/char str3[100] = “this is a string”;

語句 1 將”this is a string”賦值給了字符指針 str。此時,str 的值為”this is a string”的第一
個字符的地址。實際上,”this is a string”這個常量字符串存儲在 C 語言程序的常量區。而 str
即指向了存儲這個常量字符串的首地址

語句 2 會將常量區中的”this is a string”拷貝到數組里面。并且數組的長度將為”this is a?
string” (包含’\0’)的長度。


語句 3 會將常量區中的”this is a string”拷貝到數組里面。并且數組的長度將為 100 個字
節。

語句 3 和語句 2 的區別是語句 2 沒有指明數組的長度,那么數組的長度就是字符串的長
度。

對于上面的 3 個賦值表達式,分別使用 sizeof(占的內存空間的大小)?strlen(不包含結尾字符‘\0’的字符串個數) 的計算結果又是什么呢?
sizeof(str) = 為指針的長度,所以在 X86 上是 4,在 X64 上是 8。
sizeof(str2)=17。str2 數組的長度,但 str2 沒有顯示指出數組的長度,而是按照分配給它
的字符串的長度來分配。所以,值為 17。
sizeof(str3)=100。Sizeof 計算的是 str3 數組的長度,所以結果為 100。
strlen(str)=16。Strlen 計算的是字符串的字符個數(不喊’\0’)
strlen(str2)=16。原因同上。

strlen(str3)=16。原因同上。

當然,也可以把字符串存放在動態分配的內存空間中。比如:
char *p = (char *)malloc(100);
if (p == NULL)
return;
memset(p, 0, 100);
strcpy(p, “hello world”);
這樣,以 p 為首地址的內存中將存放著”hello world”這個字符串。

字符數組與字符串關系

char str1[]={‘h’,’e’,’l’,’l’,’o’,’ ‘,’w’,’o’,’r’,’l’,’d’};
char str2[]=”hello world”;
上面的語句定義了 2 個字符數組,其中 str1[]在初始化后,最后一個元素不是’\0’,而 str2[]
在初始化后,最后一個字符是’\0’,因此 str1[]不能當做字符串來處理,而 str2[]是可以當做
字符串來處理的,因為它最后一個字符是’\0’。

函數 strlen()用于計算字符串中的字符個數(不含結尾字符’\0’)

案例:輸入一個字符串,將其逆序輸出?

#include <stdio.h>
#include <string.h>
char *str_reverse(char *str)
{
?? ?int n=strlen(str)/2;
?? ?int i=0;
?? ?char tmp=0; ?//????
?? ?//最右邊的數和最左邊的數交換
?? ?for(i=0;i<n;i++)
?? ?{
?? ??? ?tmp=str[i];
?? ??? ?str[i]=str[strlen(str)-1-i];
?? ? ? ?str[strlen(str)-1-i]=tmp;
?? ?}
?? ?return str;
}
int main()
{
?? ?char s[]="hello world!";
?? ?printf("str_reverse(s)=%s\n",str_reverse(s));
?? ?return 0;
}
?

?

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的c语言案例——输入一个字符串,将其逆序输出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。