工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1571|回复: 6

帮忙看一下这个程序有什么问题?谢谢~~

[复制链接]
发表于 2009-7-21 11:38 | 显示全部楼层 |阅读模式
#include<windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
int k=MessageBox(NULL,TEXT("你是SB吗?"),TEXT("人格测试"),MB_ABORTRETRYIGNORE|MB_ICONHAND|MB_DEFBUTTON2);
if (k=IDRETRY);
{   
MessageBox(NULL,TEXT("不能终止"),TEXT(" 错误"),MB_OK);
}
return 0;
}



我写上去是k=IDRETRY,那应该按下”重试“按钮才会弹出窗口,但是当我也按下”终止“或者”取消“按钮的时候也会弹出同样的窗口,为什么阿?
发表于 2009-7-21 12:19 | 显示全部楼层
大一之后好像都没碰过C
单语法看的话,if后面不该有;号
回复

使用道具 举报

发表于 2009-7-21 12:32 | 显示全部楼层
本帖最后由 zaijzhgh 于 2009-7-21 12:35 编辑
  1. #include<windows.h>
  2. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
  3. PSTR szCmdLine, int iCmdShow)
  4. {
  5. if(IDRETRY == MessageBox(NULL,TEXT("你是SB吗?"),TEXT("人格测试"),MB_ABORTRETRYIGNORE|MB_ICONHAND|MB_DEFBUTTON2))
  6. {
  7. MessageBox(NULL,TEXT("不能终止"),TEXT(" 错误"),MB_OK);
  8. }
  9. return 0;
  10. }
复制代码
因为你的if后多了一个";".
而下面的代码,是无论如何都会执行的.
{   
MessageBox(NULL,TEXT("不能终止"),TEXT(" 错误"),MB_OK);
}
改正方法:去掉if后面的";".
回复

使用道具 举报

 楼主| 发表于 2009-7-21 13:58 | 显示全部楼层
哦。。是的~~
但是IF后面有;也可以执行。。
不过执行不了我想要的结果
回复

使用道具 举报

发表于 2009-7-21 14:56 | 显示全部楼层
判断语句应修改为
  1. if ( k== IDRETRY )
复制代码
= 是赋值符号,所以if的条件判断结果总是为TRUE
回复

使用道具 举报

发表于 2009-7-21 15:00 | 显示全部楼层
LZ原来也是广工的新生呀 幸会。

还没开学就这么努力呵?!
回复

使用道具 举报

发表于 2009-7-22 00:31 | 显示全部楼层
新生?加油。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-15 21:41

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表