我有一些参数可以让程序正常工作。该参数应该是 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]));
....
Run Code Online (Sandbox Code Playgroud)
打印argv[1]我正确地得到了 MAX_NUM,当打印第一个参数时得到 0。
为什么 C 将 char 输入列表数组初始化为 1 而不是 0 或程序名称?
简单来说, 的值argv[0]就是要执行的程序的名称。C有点argv[0]为此目的保留了索引。要深入了解 C 和操作系统如何开始相互协作的一些细节 - 请查看Stack Overflow中的这篇文章。
| 归档时间: |
|
| 查看次数: |
1933 次 |
| 最近记录: |