24小时热门版块排行榜    

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

as23p

木虫 (小有名气)

[求助] 关于 argc 的值

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

anntoy

木虫 (著名写手)

【答案】应助回帖

★ ★
as23p: 金币+2, 有帮助, 酱紫啊。。。 2012-08-07 22:33:09
引用回帖:
29楼: Originally posted by as23p at 2012-08-07 00:33:29
可是我问的不是操作系统如何处理用户输入方式,而是问 argc 和 argv 的取值方式是在哪里被规定的?或者说明白点,argv 的内容事实上就是从外部设备键盘读入的,这一点是写在哪里(比如:哪个文件里)的?咱们自己的 ...

哥,参数的传递是在栈里的,这个当然是系统先把参数压栈,然后转到main函数的入口了,你还是别深究这个问题了
30楼2012-08-07 13:09:53
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 北京林业大学硕导招生广告 +4 kongweilin 2026-03-26 6/300 2026-03-26 10:06 by 咪呜喵呜
[考研] 297求调剂 +3 田洪有 2026-03-26 3/150 2026-03-26 09:38 by 杨杨杨紫
[考研] 考研一志愿苏州大学初始315(英一)求调剂 +3 sbdksD 2026-03-24 4/200 2026-03-25 18:16 by xcjcqu
[考研] 081700 调剂 267分 +10 迷人的哈哈 2026-03-23 10/500 2026-03-25 12:12 by userper
[考研] 085600材料与化工调剂 +9 A-哆啦Z梦 2026-03-23 15/750 2026-03-25 11:18 by Ainin_
[考研] 0703化学求调剂 +6 奶油草莓. 2026-03-22 7/350 2026-03-25 10:00 by shangxh
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +6 @taotao 2026-03-19 6/300 2026-03-25 08:37 by 木托莫露露
[考研] 材料学求调剂 +6 Stella_Yao 2026-03-20 6/300 2026-03-25 00:37 by baoball
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
[考研] 080500求调剂 +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[考研] 085404电子信息284分求调剂 +4 13659058978 2026-03-24 4/200 2026-03-24 12:15 by syl20081243
[考研] 一志愿华东理工大学081700,初试分数271 +5 kotoko_ik 2026-03-23 6/300 2026-03-24 10:29 by 学术搬砖er
[考研] 一志愿北京化工大学 070300 学硕 336分 求调剂 +7 vv迷 2026-03-22 7/350 2026-03-23 23:44 by Txy@872106
[考研] 333求调剂 +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
[考研] 一志愿中南化学(0703)总分337求调剂 +9 niko- 2026-03-19 10/500 2026-03-22 16:08 by ColorlessPI
[考研] 298求调剂一志愿211 +3 上岸6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[考研] 生物学调剂 +5 Surekei 2026-03-21 5/250 2026-03-22 14:39 by tcx007
[考研] 求调剂 +3 13341 2026-03-20 3/150 2026-03-21 18:28 by 学员8dgXkO
[考研] 0703化学297求调剂 +3 Daisy☆ 2026-03-20 3/150 2026-03-21 17:45 by ColorlessPI
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
信息提示
请填处理意见