在下面的代碼,而我分配到len1
陣列a
正在一個錯誤的錯誤是賦值時將指針整數,未作鑄
assignment makes integer from pointer without a cast
請幫助我。
void main()
{
int i=0;
char a[7]={0x00,0xdc,0x01,0x04};
char str[70] = "123456644454464644456456456564564544132131113132132";
int len=0;
char len1[50]={};
len = strlen(str);
printf("The Length is : %02x", len);
printf("The Length is : %d", len);
sprintf(len1,"0x%02x",len);
printf("The Len1 value : %s", len1);
a[4]=len1; // This line causes the error.
for(i=0;i<=7;i++)
{
printf("%05c",a[i]);
//printf("%x",a[i]);
}
}
什麼是'一[4] = len1'該怎麼辦? – cnicutar 2011-05-27 10:04:06
這個'a [4] = len1'應該是'strncpy(&a [4],len1,2)'假設你想從len(十六進制值)中將前2個字符複製到位置5 + 6數組a。 – forsvarir 2011-05-27 10:04:52
說真的,你需要閱讀一本解釋C編程基礎知識的書。 – Asha 2011-05-27 10:07:41