亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的目的是將函數的返回結果顯示在EDIT2控件上,當運行時程序會卡死

我的目的是將函數的返回結果顯示在EDIT2控件上,當運行時程序會卡死

蠱毒傳說 2023-03-05 18:14:00
long OutStack() //////////輸出棧{int i;char e_num[100];char temp[100]; //定義字符型變量儲存輸出的八進制數long result;if(p.top==0)return 0;else{  for(i=p.top;i>0;i--)  {e_num[i]=p.elem[i]+0x30; //將出棧的每個數字加0x30(0),轉換成字符型strcat(temp,&e_num[i]); //將出棧的每個數字進行拼接,賦值給temp}}result=atol(temp);return (result);}下面是對這個函數的調用char result=(char)OutStack();HWND hEdit2=GetDlgItem(hwndDlg,IDC_EDIT2);SetWindowText(hEdit2,&result);
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

strcat(temp,&e_num[i]);  
strcat 是對兩個字符串進行拼接。
字符串以 '\0'結尾。
temp 一開始就沒有賦初值,所以里面可能沒有 '\0' 字符串沒有尾,函數會順著一直找下去,找到'\0' 做它的結尾處地址。
&e_num[i]這樣也不行,e_num[i]這也只是個字符,它后面一個地址里e_num[i+1]并不是'\0',所以它也一樣沒有結尾。

查看完整回答
反對 回復 2023-03-08
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

SetWindowText(hEdit2,&result);
這個不能直接給一個整數地址的吧,你把需要的字符串,通過參數代出來,然后直接調用此函數顯示就可以了。

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號