0

我是 C 新手,遇到以下问题:我想将参数保存为整数。因此 a 写了这段代码:

int main(int argc, char argv[]) {
    if(argc > 1) {
        int test = atoi(argv[1]);
        printf("Input: %i\n", test);
    }
}

但是我在运行时总是出现分段错误错误。有什么问题?

4

2 回答 2

1

您正在将一个字符串传递给 main。这样 argv[1] 返回单个字符。尝试

int main(int argc, char* argv[]) {

传递字符串参数数组。

于 2013-02-04T20:24:49.267 回答
0

代替 char argv[] 写 char** argv 或 char* argv[]。

于 2013-02-04T20:24:40.973 回答