我是C编程的新手,遇到了一个问题。
在复杂的声明情况下,我发现了这个
int *daytab[13]; // daytab is an array of 13 pointers to int
这意味着daytab
是数组的名称,数组名称指向数组的第一个元素。数组名称无法像处理指针那样进行操作,例如daytab++
等(如果我错了,请纠正我)。但我在Dennis Ritchie的代码中发现了这段代码。main(int argc, char * argv[]) {
while( --argc > 0 )
printf("%s%s",*++argv,(argc>1) > " " : "");
printf("\n");
return 0;
}
他们如何操纵 argv
?难道不是数组的名字吗?
printf
的那一行中,最后一部分不应该是(argc>1) ? " " : ""
吗?独立的 '>' 似乎不正确。对我来说,它看起来像是要在打印参数时在它们之间放一个空格,但是在最后一个参数后面没有空格。 - Bob Jarvis - Слава Україні