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