1

请告诉我如何输入:

2 3 4 + *

进入 VS 2010 命令行。我正在研究一个反向波兰表示法程序。输入期望char *argv。每当我放入2 3 4 + *VS 2010/Project/Debugging/Cmd Line Args 时,我printf("%s", argv)都会得到,

D5x --> 其中 x 是一些垃圾字符。

谢谢,凯文

4

2 回答 2

3

argv是一个指向字符串的指针数组。试图打印它printf("%s", argv)永远不会给你任何有用的东西,因为它%s告诉printf你期待一个字符串。

尝试这样的事情:

for (int i = 0; i < argc; i++) {
    printf("[%d] - %s\n", i, argv[i]);
}
于 2012-06-03T15:56:31.877 回答
0
#include <stdio.h>

int main(int argc, char **argv){
    int i;
    for(i=1;i<argc;++i){
        printf("%s ", argv[i]);
    }
}

>prog 2 3 4 + *
2 3 4 + *
于 2012-06-03T16:34:02.670 回答