【问题标题】:Can somebody tell me why I have this runtime error?有人能告诉我为什么我有这个运行时错误吗?
【发布时间】:2015-07-13 16:55:26
【问题描述】:

我在 Pelles C 上创建了一个程序,但是,当我运行它时,它会直接跳到函数的末尾,只是说“按任意键继续”

#include <stdio.h>

int main()
{
    char letter;
    int num1, num2;

    printf("Enter any one keyboard character ");
    scanf("%c", &letter);
    printf("Enter 2 integers seperated by a space ");
    scanf("%d %d", &num1, &num2);

    printf("Numbers inputted were %d and %d \n" num1, num2);
    printf("letter input %c", letter);
    printf(" Stored at: %p \n", &letter);

    return 0;
}

谁能告诉我为什么会这样?

【问题讨论】:

  • 请阅读有关在 Stack Overflow 上提问的指南。 [stackoverflow.com/help/how-to-ask]“有人能帮帮我吗?”不是有效的标题(或问题)。标题应说明您正在寻求帮助的问题。
  • 不要使用scanf() 获取用户输入,尤其是在阅读单个字符时。使用fgets()fgetc()
  • 您确定这实际上是您遇到问题的代码吗?除了缺少的逗号(这可能是一个错字或证明你甚至没有编译它),这个程序在用我的 VS2013 和我的 gcc 编译时可以工作。
  • 你确定你正在编译它而不是运行最后一个工作版本吗?
  • 使用调试器逐步完成。

标签: c windows runtime-error pelles-c


【解决方案1】:
printf("Numbers inputted were %d and %d \n" num1, num2);
                                           ^

您在上面的printf 声明中错过了num1 之前的,

printf("Numbers inputted were %d and %d \n",num1, num2);

【讨论】:

  • 我已经编辑了该语句,但是在运行程序时它仍然直接到最后说“按任意键继续”我会截屏程序但我没有必要的声誉来发布图片。
  • @FlewittConnor 你确定这是产生问题的相同代码,并且你没有编辑原件在此处发布。也许您删除了除错误之外可能造成问题的部分?
  • 我已经复制代码,关闭程序,打开一个空白程序,然后粘贴代码。现在它工作正常,不知道代码是如何完全相同的,但它现在可以工作了。
  • @FlewittConnor 你一定没有在运行之前编译过它。
猜你喜欢
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
相关资源
最近更新 更多