我正在尝试打印一个由命令行传递的整数,但控制台打印了一个很长的随机值。
我把它放到 RUN "C:\Users\pc\Documents\Visual Studio 2013\Projects\Lab3\Debug\Lab3.exe randomString 4"
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[]){
printf("%s\n", argv[0]); // Working
printf("%s\n", (argv[1])); // working
printf("%d\n", (int)(argv[2])); // NOT Working
printf("%d\n", argc); // Working
system("pause");
return 0;
}
最佳答案
您不能只是将 char* 指针“转换”为 int 并期望它被神奇地转换。那只是打印数组第一个元素的地址。您需要使用 atoi(argv[2])
等运行时函数将其转换为 int 参见函数详细信息 here
关于C 我不能打印一个整数,它在命令行中作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243479/