在下面的代碼中,爲什麼我不能解引用數組名,因爲當一個數組作爲參數傳遞給一個函數時,它變成了數組第一個元素的指針,那麼爲什麼我們不能解引用呢?爲什麼我們不能使用數組名稱的間接運算符?
#include <stdio.h>
int main(void) {
char s[] = "radha";
int a[2] = {0,1};
printf("%s ", *s);
printf("%d", *a);
return 0;
}
我得到段錯誤上面的代碼,有什麼原因就在這裏,當我使用[0],它在內部轉換爲*(A + 0),那麼什麼是在根本問題做* a或* S,請澄清。
'的printf( 「%S」,* S);' - >'的printf( 「%S」,S);'' –
* s' =='S [0] ==''」 r''。你想'printf(「%s」,s);'或'printf(「%c」,* s);' – BLUEPIXY
可怕的問題標題,你應該想一個更好的問題。 –