【发布时间】:2021-07-07 11:31:45
【问题描述】:
如果这是一个相对简单的问题,我深表歉意。在学习了 Python 之后,我正在尝试掌握 C 编程。我正在尝试读取像./myprogram 8 这样的命令行参数,并能够访问该8。我已经设法通过直接访问像printf("%s\n", argv[1]); 这样的用户输入来让它工作
但我正在努力将其存储为变量。下面的代码运行,但它根本不打印8。
#include <stdio.h>
int main(int argc, char* argv[]) {
int UserInput1;
UserInput1 = argv[1];
printf("%s\n", UserInput1);
return 0;
}
感谢所有帮助,并提前感谢您抽出宝贵时间
【问题讨论】:
-
正如声明所说,
argv[1]是 char-array 类型。因此,如果不执行一些转换(例如strtol),就无法将其分配给int UserInput1。此外,printf格式说明符%s需要char *参数,但您传递了int参数。 -
@Jeremiah Longlow 注意这篇文章没有提出特定的问题。考虑添加一个以帮助关注问题。
标签: c variables type-conversion printf command-line-arguments