我試過不同的方法,但最終出錯。請給出一個解決方案和概念的簡要說明。返回有錯誤的二維數組,需要概念
uint8_t **subBytes()
{
int i,j;
uint8_t r,c;
uint8_t t[4][4];
for(i=0;i<4;i++)
{
for (j=0;j<4;j++)
{
r = pt[p1][j] & 0xf0;
r = r >> 4;
c = pt[p1][j] & 0x0f;
t[i][j] = (uint8_t *) malloc(sizeof(uint8_t));
t[i][j] = sBox[r][c];
}
p1++;
}
return t;
}
int main()
{
uint8_t **temp;
temp = subBytes();
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%x ", temp[i][j]);
}
printf("\n");
}
}
這是我的原始碼。在這裏,我使用了malloc,但是它也不起作用。
int add(){int p = 9;返回p;}。這裏「p」也是一個局部變量,但我可以在main()中使用返回值?它是如何?我的目的是要返回一個矩陣,你可以在我的代碼中顯示我,我們該怎麼做? – Melvin
@Melvin查看編輯 – ikh