我无法将以#
开头的字符串作为命令行参数传递。
这里有一个简单的测试:
#include <stdio.h>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++)
printf("%s ", argv[i]);
putchar('\n');
return 0;
}
如果我将参数输入如下:
2 4 # 5 6
argc
的值为 3
而非 6
。它读取了 #
并停止了。我不知道原因,也在我的《C程序设计语言》和《C Primer Plus》的副本中找不到答案。