读书人

面积计算器结果显示不对

发布时间: 2012-05-20 16:03:12 作者: rapoo

面积计算器,结果显示不对,求助!
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR r[256];
GetDlgItemText(hwnd,IDC_EDIT1,r,sizeof(r));
int r0=atoi(r);
float mianji1;
mianji1=3.14*r0*r0;
TCHAR mianji2[256];
wsprintf(mianji2,"%f",mianji1);
SetDlgItemText(hwnd,IDC_EDIT2,mianji2);
}
break;
default:
break;
}
}


当半径为1时,面积是f,求各位帮助。

[解决办法]
看你的程序,你是在多字节字符的环境下写的该该代码的,
这样的话,
wsprintf(mianji2,"%f",mianji1);
这句必须得换成sprintf才可以的.
wsprintf会按成宽字符,即Unicode字符来进行格式化的,而sprintf是多字节字符下的,理应是不能互用的.

读书人网 >C语言

热点推荐