Rya*_*yan 2 c argv command-line-arguments argc
我只是为了好玩而运行以下内容,但无法解释结果.假设./test WTF?是在命令行运行,产生的输出是
WTF? 6 2.为什么报告的argc值(2 - 正如预期的)和strlen(*argv)之间存在如此巨大的差异,后者变为6.我知道字符串数组并不是strlen正在寻找的,但是,我认为它产生的价值(如果产生任何东西)将合理地接近argc.思考?
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(int argc, char**argv)
{
for (int i = 1; i < argc; i++)
{
for (int j = 0; j < strlen(argv[i]); j++)
{
printf("%c", argv[i][j]);
}
printf(" ");
}
printf("\t%lu\t%d", strlen(*argv), argc);
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
这里没有错.该argv数组包含两个字符串 -
所以在你的例子strlen(argv[0])中将打印6 strlen(argv[1])并将打印4.
| 归档时间: |
|
| 查看次数: |
442 次 |
| 最近记录: |