简单的程序帮忙看看

woxingmeng 2009-01-13 11:17:22
我的问题是cout<<a<<endl的时候a的值为什么没变?

#include <windows.h>
#include <iostream>
#include <process.h>
using namespace std;

void Athread(LPVOID lp)
{
int* a = (int*)lp;
*a = 20;

}

int main()
{
int a = 10;
_beginthread(Athread,0,&a);
cout<<a<<endl;
return 0;
}
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fairyprince 2009-01-13
  • 打赏
  • 举报
回复
a 不是流对像
fairyprince 2009-01-13
  • 打赏
  • 举报
回复
a 不是流对像
Chivalry 2009-01-13
  • 打赏
  • 举报
回复
线程还没执行完,所以没变
_beginthread(Athread,0,&a);
Sleep(100);
cout < <a < <endl;

应该就可以了

woxingmeng 2009-01-13
  • 打赏
  • 举报
回复
2楼正解

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧