1

这个程序总是崩溃而不是让我输入参数,为什么?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, const char* argv[]) {
    int shift = atoi(argv[1]);
    char message[256];
    strcpy(message, argv[2]);
    int i;

    for (i = 0; i < strlen(message); i++) {
        printf("%c", message[i] + shift);
    }
    putchar('\n');

    return 0;
}

我正在使用代码块。但我也尝试用 Notepad++ 运行它。在我编译它并运行它之后,它只是崩溃了:Name.exe 已停止工作。它不应该要求我在命令行上输入参数吗?

4

1 回答 1

7

在输入参数之前程序不可能崩溃,因为您需要在程序启动之前输入参数。

那就是:你不会像这样运行你的程序:

Program.exe
12
hello

你需要像这样运行它:

Program.exe 12 hello

如果您使用的是 IDE(您可能会这样做),则需要配置 IDE 以添加参数。如何做到这一点取决于您使用的 IDE。我假设您使用 Visual Studio - 这是在 Visual Studio 中的操作方法:https ://stackoverflow.com/a/3697320/794380

于 2013-09-28T23:01:28.237 回答