21,499
社区成员
发帖
与我相关
我的任务
分享#include "stdio.h"
void budong(int a);
void main()
{
int i=3;
int g=0;
budong( i++ );
}
void budong(int a )
{
printf("%d",a);
}

其实这个代码唯一的区别就是源代码中的i++变成i】
可我还是有两个问题不明白。
1:编译器在这段代码上,还是走了两步废棋。
2:我不明白加上那句【__asm int 3】有什么用。
附言:老是这么叨扰您,都有点不好意思了。。。[/quote]
1:编译器不可能不走废棋。
2:加一句int 3(软件调试断点)指令,方便在浩如烟海的代码中调试执行时,暂停在此条指令处。(实际运行不调试时要去掉这条指令)
可我还是有两个问题不明白。
1:编译器在这段代码上,还是走了两步废棋。
2:我不明白加上那句【__asm int 3】有什么用。
附言:老是这么叨扰您,都有点不好意思了。。。[/quote]
1:编译器不可能不走废棋。
2:加一句int 3(软件调试断点)指令,方便在浩如烟海的代码中调试执行时,暂停在此条指令处。(实际运行不调试时要去掉这条指令)[/quote]
赵教主您好,百忙之中还能得到您的回复我很感激。但这个帖子我想晚段时间结。
最后,衷心祝您生活愉快!
【据我所闻,程序猿貌似经常加班,您还能在百忙之中天天来这里给我这些求助的人帮助,是在是令人感动。。。】

#include <windows.h>
#include <stdio.h>
void budong(int a);
void main()
{
int i=3;
int g=0;
DebugBreak();
budong( i++ );
}
void budong(int a )
{
printf("%d",a);
}

