1. c語言中 「A」+3 的結果是
A 在char函數中是65
65加3 是68
在char函數中68是D
2. C語言中取數組某個值a[3],這個表達式也有返回值嗎怎麼理解。有關依據是什麼,如 for (i=0;a[i];i++)
a,b是字元數組,在fscanf(fin,"%s %s",a,b);這句話里從文件ride.in里讀取了兩個字元串,分別放在數組a和b里,a[i]就是字元數組里第i個字元,i是數組下標,數組下標從0開始。
字元串最後都是以'\0'字元結尾,其ascii碼值是0。所以可以在循環中不斷檢查a[i]的值是否為'\0',來判斷是否已經訪問到字元串結尾。
3. C語言 中 putchar(『a』+3)與printf(「%d」,『a』+3)有什麼區別
這個當然有區別啦,putchar用於初輸出一個字元,'a'+3應該就是'd'吧,而後面用的格式是%d,也就是輸出的是他的ascii值,這肯定不一樣啊,如果用printf("%c", 'a'+3);輸出應該就一樣了。
4. 問一下C語言中的a+=3為什麼等價於a=a+3啊,我知道前面是簡寫,不知道為什麼要這樣簡寫
不是簡寫,+= 和=都是運算符號。
只不過a+=3和a=a+3的運算結果都是一樣的。
都是取a的值與3相加,再將結果賦值給a。
5. C語言 中a+3=&a[3]是幾級指針
如果,這個表達式可以成功編譯,那麼證明,
a+3
裡面可以保存地址。
(即,可以保存指針)
也就是說,a中的元素是指針。(即,a是一個指向指針的指針)
所以,a
應該就是二級指針。(在這里假設a[3]是一個數值,而不是一個指針)
6. C語言指針中*a+3和*(a+3)的區別
*是取指針值,*a+3是取a這個地中存的值再加3。
*(a+3)是把a+3這個地址的值取出來。
如a[4]={1,2,4,8}
*a+3=a[0]+3=4,*a是取a的首地址值,就等於a[0]
*(a+3)=a[0+3]=a[3]=8
7. C語言中的 char a【3】 是定義一個字元串麽 a【3】表示什麼~
c語言中沒有字元串的數據類型,都是定義一個數組,然後利用數組存儲字元串的每一個字元!!!另外他與字元串有一定的區別,字元串最後一個位置存的是『\0',而字元數組卻沒有!!!如果用數組存儲一個字元串,在其最後沒有』\0'的情況下,使用printf輸出的時候會出現亂碼的,因為printf是以『\0'作為結束標志的,遇不到』\0'就出現了越界訪問!!!
不明白的可以交流下啊!!
c編程高手團隊正在招新,有意者速速行動,一起學習,一起努力!!
8. 小米官網c語言 輸入一個字元串a,對a進行加3加密並存入得到b輸出a,b
// 不知道是不是你說的這個意思
int main() {
int i;
char a[256],b[256];
scanf("%s",a);
a[255]='\0';
for (i=0;i<strlen(a);i++){
b[i]=a[i]+3;
}
b[i]='\0';
printf("\na=%s\n",a);
printf("\nb=%s\n",b);
return 0;
}