字符串常量加減整數

"abc" + 1

這個表達式是什麼意思呢?

我的第一反應是WTF,字符串常量還能加減嗎?但是細思下發現字符串常量實際上是個指針,指針指向的是字符串常量的第一個字符,所以+1完全是可以的,這時指向的是字符串常量的第2個值,當然加減整數都不能超過字符串的長度,"abc" + 4是錯誤的。

#include<stdio.h>

int main(void)
{
	printf("%c\n",*("abc"));
	printf("%c\n",*("abc" + 1));
	printf("%c\n","abc"[2]);
	return 0;
}

打印結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章