我不能传递#
以命令行参数开头的字符串。
这是一个简单的测试:
#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
is 3
和not 的值6
。它会#
在此处读取并停止。我不知道为什么,在C语言和C Primer Plus的副本中也找不到答案。
44
StackOverflow上突出显示的语法很好地说明了您的问题:)
—
Brad Allred