#include<stdio.h>
#include<malloc.h>
int main()
{
int *c;
c=(int*)malloc(100*sizeof(int));
*c=2;
int *a=c;
int b,e;
e=b[a];
printf("%d\n",e);
}
uj5u.com熱心網友回復:
編譯無錯誤的代碼,當然可以運行。可以運行不等于是正確的代碼。C語言的基礎學好了,很容易理解這些簡單的代碼。稍微有點難度的是 b[a] , 其實就是 a[b]uj5u.com熱心網友回復:
b[a]就是a[b]??
uj5u.com熱心網友回復:
如果沒聽說過這點,就證明C語言還是初級水平。自己寫幾行代碼測驗一下,就知道了。例如:int a[3] = { 1, 2, 3 };
int b = 2;
ShowMessage( b[a] );
當然一般要按習慣來寫代碼,不要反過來寫。
uj5u.com熱心網友回復:
嗦嘎,理解了。因為,a[b] = *(a+b) = *(b+a) = b[a]
現在高級了吧。。。
C語言玩很多年了,也沒見這樣寫的,還有,樓主的代碼真能編譯通過嗎?宣告變數在執行陳述句下面,這是C++的寫法吧。
uj5u.com熱心網友回復:
b[a] 這反過來寫,是不是就高大上了啊?
uj5u.com熱心網友回復:
太高深了,我一看到b,就覺得這個沒賦初值,應該是燙燙燙燙uj5u.com熱心網友回復:
int b,e;e=b[a];
這個不符合常規,明顯不對
uj5u.com熱心網友回復:
這。。。。。
uj5u.com熱心網友回復:
真的能運行 不過是C++編譯器 代碼是我看到有人這樣寫還沒錯 簡化出來的 寫法沒注意那么多uj5u.com熱心網友回復:
想在舊的C編譯器里運行就這樣吧:
#include<stdio.h>
#include<malloc.h>
int main()
{
int *c;
c=(int*)malloc(100*sizeof(int));
*c=2;
{
int *a=c;
int b,e;
e=b[a];
printf("%d\n",e);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/111503.html
標籤:基礎類
上一篇:c++
下一篇:電腦問題啊
