c语言调试变量输出正常,运行时输出不对,求帮忙

Python08

c语言调试变量输出正常,运行时输出不对,求帮忙,第1张

printf("%d\n", &b)

改为

printf("%d\n", b)

要输出的是变量b,不是变量b的地址

使用自定义调试函数debug,控制输出不输出调试信息。

下面的程序中,如果要不输出调试信息,则注释掉#define DEBUG,否则不注释它。

这个程序,要输出调试信息时,运行结果如下:

i=1 f=1

i=2 f=2

i=3 f=6

i=4 f=24

4!=24

其中前面四行都是调试信息。

如果不输出调试信息,运行结果如下:

4!=24

有的人使用__DEBUG__来代替DEBUG,也是一样的。

用__DEBUG__更安全一些(免得其它不小心用了DEBUG),但用DEBUG方便一些。

1、打开你要写c++程序的文件夹,我们这里新建一个Test文件夹并打开test,打开后:使用VScode运行调试C/C++,在左侧打开的目录中新建一个 main.cpp 文件。 2、新建后点左侧的调试按钮(英文:Debug),可以看到,目前没有调试配置。 3、这时我们需要配置自己的调试配置,回到资源管理器界面,我们可以看到目录下多了一个.vscode的文件夹,里面有一个launch.json文件。我们现在在这个文件夹中新建一个tasks.json文件。我们需要改写这两个json文件的内容。 { version: 0.2.0, configurations: [ { name: Run C/C++, type: cppdbg, request: launch, program: ${workspaceFolder}/${fileBasenameNoExtension}.exe, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: true, MIMode: gdb, miDebuggerPath: C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe, setupCommands: [ { description: Enable pretty-printing for gdb, text: -enable-pretty-printing, ignoreFailures: false } ], preLaunchTask: build &run file }, { name: Debug C/C++, type: cppdbg, request: launch, program: ${workspaceFolder}/${fileBasenameNoExtension}.exe, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: true, MIMode: gdb, miDebuggerPath: C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe, setupCommands: [ { description: Enable pretty-printing for gdb, text: -enable-pretty-printing, ignoreFailures: false } ], preLaunchTask: build &debug file } ] } 其中tasks.json文件内容(直接复制即可): { version: 2.0.0, tasks: [ { label: build &debug file, type: shell, command: g++, args: [ -g, -o, ${fileBasenameNoExtension}, ${file} ], group: { kind: build, isDefault: true } }, { label: build &run file, type: shell, command: g++, args: [ -o, ${fileBasenameNoExtension}, ${file} ], group: { kind: build, isDefault: true } } ] } 4、我们已经完成了基本的配置工作,保存以上两个json文件后,再次点击左侧的调试按钮(Debug),可以发现出现了两个新的配置,一个是直接运行程序的Run,一个是用来调试程序的Debug。 5、我们写一个简单的c++程序来进行调试说明,程序源代码,我们在return 0这行添加了一个断点。 6、切换运行配置为Debug C/C++,点击运行按钮开始调试。 7、可以看到,弹出的终端输出了正确的结果,调试窗口中的变量中也有变量a和对应的值。