我可能的重复项:
什么是主的适当声明?
刚刚参加了我的第一个 c++ 考试。第一个问题是
int main(◊, char ** argv)
以下哪一个建议不起作用(作为 ◊ 的第一个正式参数替代):a) 字符参数 b) 国际 ARGC c) 双氩气 d) 布尔参数
在 2 小时的纯手写个人考试
中,答案占 4%。允许所有工具,接受任何可编程设备或任何通信
方式谁能:)做到这一点?
定义"有效"的含义。其中任何一个都可能有效,但有效的、符合标准的、格式良好的C++程序具有以下任一签名:
int main()
int main(int argc, char** argv)
int main(int argc, char* argv[])
所以a),c)和d)是错误的。
定义"将不起作用" ?
int main(char argc, char ** argv)
{
printf("%dn", argc);
return 0;
}
./a.out 1 2 3
Output: 4
int main(int argc, char ** argv)
{
printf("%dn", argc);
return 0;
}
./a.out 1 2 3
Output: 4
int main(double argc, char ** argv)
{
printf("%dn", *(int*)&argc);
return 0;
}
./a.out 1 2 3
Output: 4
int main(bool argc, char ** argv)
{
printf("%dn", argc);
return 0;
}
./a.out 1 2 3
Output: 4
鉴于问题是问哪一个不起作用。它必须是double
所有其他都是整数。
我相信这将是正确的答案,因为除了整数值之外,您不能为数组编制索引。但这假设您实际上想要索引argv
数组。
但是在C++考试中问一个多么糟糕的问题。
"int argc" 是正确的用法。 argc 表示传递给主节点的参数数量。所以它唯一的 int。