此问题在此处已有答案:
Arguments to main in C [duplicate](6个答案)
What are the arguments to main() for?(5个答案)
三年前关闭了。
我有一些参数的程序工作正常。这个参数应该是,MAX_NUM,x,y。
在捕获char输入列表的参数时,我目前使用参数1而不是0获得MAX_NUM。
例如:
int main (int argc, char *argv[]) {
int MAX_NUM = atoi(argv[0]);
int x = atoi(argv[1]);
int t = atoi(argv[2]);
printf("MAX_NUM %d\n", atoi(argv[0]));
....
打印 argv[1] i正确获得MAX_NUM,打印第一个参数时获得0。
为什么C在1上初始化char输入列表数组,而不是0或程序名?
1条答案
按热度按时间q0qdq0h21#
简单来说,
argv[0]
的值是要执行的程序的名称。C kinda 为此保留了argv[0]
索引。要了解C和操作系统如何开始相互工作的一些细节-请查看Stack Overflow中的这篇文章。