gpt4 book ai didi

c++ - Visual Studio 2013 中的 C,为什么以前执行的代码现在在注释中仍在执行?

转载 作者:太空宇宙 更新时间:2023-11-04 01:30:19 25 4
gpt4 key购买 nike

我在 Windows 7 32 位操作系统上使用 Visual Studio 2013,我想运行一些非常简单的 C 代码。

提示 1:我所有的代码都在同一个项目 --> 和同一个代码页中!

运行简单计算的第一个代码给出了正确的结果,这没问题,请参阅任务 1:

// Task 1

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

int main()
{
printf("4 + 6 / 2 = %i", 4 + 6 / 2); //Result = 7! -->Correct!
getchar();
return 0;
}

然后我将上面的代码(任务 1)放在注释中并添加任务 2:

/* Task 1

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

int main()
{
printf("4 + 6 / 2 = %i", 4 + 6 / 2); //Result = 7! -->Correct!
getchar();
return 0;
}*/


// Task 2

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

int main()
{
int x, y;
printf("PROGRAM:\nPlease type x ");
scanf("%i", x);
printf("\nPlease type y");
scanf("%i", y);

printf("\nx * y = %i", x*y);
printf("\nx / y = %i", x/y);
printf("\nx % y = %i", x%y);

getchar();
return 0;
}

当我执行代码时,现在发生的是它给我任务 1 之前代码的结果。所以看起来它执行了之前的代码,但它不应该那样做,因为该代码现在在注释中.它应该执行任务 2 中的第二个代码。

有人知道为什么任务 2 的新代码没有执行吗?我怎样才能阻止/执行第一个代码?

即使我删除了任务 1 的代码(从代码页)--> 保存它并关闭 Visual Studio 程序并重新打开项目。当我再次运行代码时(代码页中在视觉上只有任务 2 的代码),它会显示上一个任务 1 的结果。

可能有错误的设置,但究竟是哪里和什么?

如果有人能帮助我,那就太好了。

提示 2:源文件本身仍保存为 .cpp 但这不应该是原因,对吗?我还更改了这个“设置”: --> 项目 --> 属性 --> 配置属性 --> C/C++ --> 高级 --> 编译为:编译为 C 代码 (/TC)

没有变化,同样的错误行为!

最佳答案

每当您看到的代码“不可能”是正在执行的代码时,有两种可能性

  • 正在运行旧的目标代码...重建应该修复...清理并构建修复。
  • 您有一个仍然存在的旧进程,解决方法是:关闭并检查所有正在运行的旧进程...并杀死它们。

有一些更棘手的场景:

  • 您认为您正在运行旧代码是因为您错过了一个断点 - 这可能意味着您的断点已被优化掉或者您没有调试符号
  • 您运行的是来自正​​在获取的动态库的旧代码,而不是您正在编译的库……这更难发现和修复。

关于c++ - Visual Studio 2013 中的 C,为什么以前执行的代码现在在注释中仍在执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23846668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com