Ily*_*hot 0 c parameters program-entry-point command-line-arguments
对于我的类,我需要创建一个在运行时接受多个参数的函数:
void main(int x, int y, int generation, char *layout[20])
Run Code Online (Sandbox Code Playgroud)
但是,当程序以我对这些变量的输入运行时,信息不会存储在调试过程中
run 3 3 3 Test_Round
print x // returns 5
print y // returns -8779
Run Code Online (Sandbox Code Playgroud)
如何将多个参数传递给main函数,以便main识别我给它的参数?
感谢大家!我只是使用argv [1]等来获取我需要的正确数据!
该标准清楚地表明了如何声明主要功能.
从C99标准:
5.1.2.2.1程序启动
程序启动时调用的函数名为main.该实现声明此函数没有原型.它应与被定义返回类型的INT,并没有参数:
int main(void) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
或者有两个参数
(这里称为
argc
和argv
,虽然可以使用任何名称,因为它们是声明它们的函数的本地名称):
int main(int argc, char *argv[]) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
或等效的; 9)或其他一些实施定义的方式.
如果声明它们,main函数的参数应遵循以下约束:
- 值
argc
应为非负值.-
argv[argc]
应为空指针.-如果值
argc
是大于零,阵列成员argv[0]
通过argv[argc-1]
包容应包含指向 为字符串,其通过编程启动之前的主机环境给定实现所定义的值.目的是在程序启动之前从托管环境中的其他地方向程序提供信息.如果主机环境不能提供大写和小写字母的字符串,则实现应确保以小写形式接收字符串.-如果值
argc
是大于零,则该字符串指向argv[0]
表示节目名称; 如果程序名不能从主机环境获得,argv[0][0]
则应为空字符.如果argc的值大于1,则argv[1]
through 指向的字符串argv[argc-1]
表示程序参数.- 数组指向的参数
argc
和argv
字符串argv
应由程序修改,并在程序启动和程序终止之间保留它们最后存储的值.
归档时间: |
|
查看次数: |
4250 次 |
最近记录: |