[問題] assign char到(char*)會有error?

看板C_and_CPP作者 (c)時間15年前 (2010/07/02 01:39), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) (char)*(direct_opnd))='0'; 上面這一行在freebsd,linux compile會出現 lvalue required as left operand of assignment這個錯誤訊息 我在visual studio 2008可以compile過,但是用系上工作站會出現error... 我看得懂那一行是要把一個char丟給direct_opnd( 定義時 char *direct_opnd;) 希望得到的正確結果: 希望這一行能compile過 程式跑出來的錯誤結果: lvalue required as left operand of assignment 開發平台:VC++ okay無誤 linux freebsd都會出現問題 有問題的code: (請善用置底文標色功能) int direct_addr255_check(direct_str) char *direct_str; { int len, direct_addr; char *direct_opnd; len=strlen(direct_str); direct_opnd=string_copy(direct_str); if((char)*(direct_opnd)=='+') ((char)*(direct_opnd))='0'; if((char)*(direct_opnd+len-1)=='H' && len>1) { (char)*(direct_opnd+len-1)='\0'; direct_addr=aHEXtoint(direct_opnd); } else if((char)*(direct_opnd+len-1)=='B' && len>1) { ((char)*(direct_opnd+len-1))='\0'; direct_addr=aBINtoint(direct_opnd); } else if((char)*(direct_opnd+len-1)=='O' && len>1) { ((char)*(direct_opnd+len-1))='\0'; direct_addr=aOCTtoint(direct_opnd); } else if((char)*(direct_opnd+len-1)>='0' && (char)*(direct_opnd+len-1)<='9') { direct_addr=aDECtoint(direct_opnd); } else direct_addr=-1; // if(direct_addr>=0 && direct_addr<255) {} // else direct_addr=-1; free(direct_opnd); return direct_addr; } 補充說明:不好意思打擾各位了,我想說的是,這不是上物件導向或者c語言 上課的作業,是組合語言的作業,教授丟了code給我們要修改可是 一compile就有錯誤,我想了很久不知道錯在哪才上來詢問,希望大家 幫幫忙.thanks... -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.246.132

07/02 09:42, , 1F
學期不是已經結束了嗎?
07/02 09:42, 1F

07/02 10:03, , 2F
是阿..但是還有project要繳交 很命苦Orz...
07/02 10:03, 2F

07/02 10:21, , 3F
*direct_opnd = '0';
07/02 10:21, 3F

07/02 11:05, , 4F
感謝樓上,我剛剛也這樣解決了那問題,解決完才看到
07/02 11:05, 4F

07/02 11:05, , 5F
推文 不過謝謝了 謝謝!
07/02 11:05, 5F
文章代碼(AID): #1CBKDdse (C_and_CPP)