字符串整体赋值和比较问题
生活随笔
收集整理的這篇文章主要介紹了
字符串整体赋值和比较问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 字符串整體賦值問題
- 一、指針式賦值法
- 二、用strcpy()函數法
- 字符串整體比較問題
字符串整體賦值問題
我們平常給一個字符串初始化了,但是后面我們想重新賦一個字符串卻錯誤了,如下面的操作。
char a[10]="hello"; a="word";//這里是錯誤的不能整體賦值因為:數組名的實質是指針常量,你不能給一個指針常量修改。
那么如何給一個字符串整體的賦值呢?
解決方法:
一、指針式賦值法
#include<stdio.h> int main() {char *a="hello";a="world";printf("%s\n",a);printf("%c\n",*a);printf("%c\n",*(a+1));return 0; }
我們可以看到 "hello " 已經改為 " world " 了。
這里有一點是特別不容易想通的
a是 char * 型 的也就是字符指針 為啥輸出字符串時直接 a 就可以了 ,不應該用 星號(*) 取內容么?
下面我以圖解的方式來加深印象。
例:
二、用strcpy()函數法
用 strcpy() 函數來實現整體賦值
字符串整體比較問題
通過上圖可以看出,a 和 b 的內容一樣,為啥沒有輸出123呢?
要想判斷兩個字符串是否相同
- 一、可以逐個字符的比較
- 二、用strcmp()函數來比較
例:
總結
以上是生活随笔為你收集整理的字符串整体赋值和比较问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MatLab 习题
- 下一篇: C语言易错题集 第一部