这个程序一直在崩溃而不是让我输入参数,为什么?
#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已经停止工作。它不应该要求我在命令行输入参数吗?
答案 0 :(得分:7)
在输入参数之前,程序不可能崩溃,因为您需要在程序启动之前输入参数 。
那就是:你没有像这样运行你的程序:
Program.exe
12
hello
你需要像这样运行它:
Program.exe 12 hello
如果您使用的是IDE(可能),则需要配置IDE以添加参数。如何做到这取决于您使用的IDE。我假设您使用Visual Studio - 以下是如何在Visual Studio中执行此操作:https://stackoverflow.com/a/3697320/794380