C語言char型變量與ASKII碼
2023-09-08 23:26 作者:獨(dú)眼的安提柯 | 我要投稿
一,C語言中字符定義方式 支持 char a=’A’ //定義一個(gè)字符變量名字是a值為A 支持 char a=65 //直接寫阿克斯碼值與上文效果一樣 不能定義char *c=’a’//字符是常量不是地址 但是可以這樣定義字符串 比如char *str=“abcd” 或者char *str; str=“abcde”//就是把字符串首元素地址給str的意思 二,字符串加減乘除都是轉(zhuǎn)化成阿克斯碼進(jìn)行的 最后一般本身也保留整數(shù) 1,char+char=int 2int+char=int
9+字符0的值就是9加上字符0的阿克斯碼值48 答案為9+48=57(也就是字符9的阿克斯碼值)
三,區(qū)分字符’\0’和字符’0’ \0字符的阿克斯碼為0 字符0的阿克斯碼值為49
我們來分析這題 這題型參是數(shù)組所以傳入的是地址 *p也就代表字符串“0ABCDEF/0”首元素字符’0’的地址 字符0的阿克斯碼不為0所以進(jìn)入while循環(huán) 一直到最后一個(gè)字符\0它的阿克斯碼為0才可以結(jié)束循環(huán) 所以循環(huán)結(jié)束時(shí)候p指向’/0’ p是指針變量指向是可以改變的(但是數(shù)組名s是地址常量無法改變)p-s兩個(gè)地址相減 答案是一個(gè)數(shù)值(就是兩個(gè)指針存儲空間差幾個(gè)單位)所以這題答案是/0和0的距離 也就是7
標(biāo)簽: