24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1725  |  回复: 29
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

as23p

木虫 (小有名气)

[求助] 关于 argc 的值

刚接触C语言没多久,之前一直用Fortran,所以有个地方不太明白,希望大家赐教:
在C里经常用到诸如 int main(int argc, int *argv[]) 的语句,我的问题是参量argc的值是如何获得的呢?在Fortran里,所有的函数参量都是在调用该函数时被赋值的,但C里的main函数没有上级函数调用,实际应用中感觉argc是运行时自动就有值了(即,*argv[]的维数加一),可这到底是怎么做到的啊???听着好像是人工智能
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

as23p

木虫 (小有名气)

引用回帖:
4楼: Originally posted by libralibra at 2012-08-04 05:07:14
给你一个字符串,你不是也能切割知道有几个空格分隔的子串吗?
控制台也不过是操作系统对于用户的一个接口啊,你运行程序输入的那行命令不就是个长串吗?它接收后按照空格切割一下,个数赋值给argc,子串存在argv[]啊...

拜托,你跟机器能一样么???咱是用脑子算的,机器的话,你不告诉它怎么算它怎么知道的???
5楼2012-08-04 09:25:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 30 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
如果你这个函数编译完后叫test.exe
打开dos窗口运行时,输入(假设的): test.exe data.txt,那么argc==2,argv[0] = "test.exe", argv[1] = "data.txt",argc是命令行自动计算的,跟你的输入有关的.
一般写程序如果你明确知道你的函数在main中自动打开文件,读写/操作...,main函数可以无参数
int main()
{
...
}
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-08-03 16:06:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

as23p

木虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2012-08-03 16:06:18
如果你这个函数编译完后叫test.exe
打开dos窗口运行时,输入(假设的): test.exe data.txt,那么argc==2,argv = "test.exe", argv = "data.txt",argc是命令行自动计算的,跟你的输入有关的.
一般 ...

我知道argc是自动计算的,我就是想知道它为什么能自己自动计算,是人工智能么???
3楼2012-08-04 00:14:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

引用回帖:
3楼: Originally posted by as23p at 2012-08-04 00:14:54
我知道argc是自动计算的,我就是想知道它为什么能自己自动计算,是人工智能么???...

给你一个字符串,你不是也能切割知道有几个空格分隔的子串吗?
控制台也不过是操作系统对于用户的一个接口啊,你运行程序输入的那行命令不就是个长串吗?它接收后按照空格切割一下,个数赋值给argc,子串存在argv[]啊
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-08-04 05:07:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见