C语言main函数形参的问题,就是那个char *argv[]……求助牛人
如果有一个名为file的文件,它包含以下的main函数:voidmian(intargc,char*argv[]){while(argc>1){++argv;printf...
如果有一个名为file的文件,它包含以下的main函数:
void mian (int argc,char *argv[])
{
while (argc>1)
{
++argv;
printf("%s\n",*argv);
--argc;
}
}
这个程序中argv不是指针数组的数组名吗?它应该是常量,为什么还能自加呢?
++argv 不是等价于argv=argv+1吗?上课的时候老师千叮咛万嘱咐说常量一定不能赋值的!可是这个是怎么回事? 展开
void mian (int argc,char *argv[])
{
while (argc>1)
{
++argv;
printf("%s\n",*argv);
--argc;
}
}
这个程序中argv不是指针数组的数组名吗?它应该是常量,为什么还能自加呢?
++argv 不是等价于argv=argv+1吗?上课的时候老师千叮咛万嘱咐说常量一定不能赋值的!可是这个是怎么回事? 展开
4个回答
展开全部
你好 argv同时也是argv[]指针数组的首地址 argv++ 就是指向argv的下一个地址
++argv 不是等价于argv=argv+1吗?上课的时候老师千叮咛万嘱咐说常量一定不能赋值的!可是这个是怎么回事?
同学 学习千万不能学死了 指针这个东西还是要自己好好思考的,
在数值上++argv 是等价于argv=argv+1
但现在说的是指针 ++argv 是指向argv的下一个字符串的地址
++argv 不是等价于argv=argv+1吗?上课的时候老师千叮咛万嘱咐说常量一定不能赋值的!可是这个是怎么回事?
同学 学习千万不能学死了 指针这个东西还是要自己好好思考的,
在数值上++argv 是等价于argv=argv+1
但现在说的是指针 ++argv 是指向argv的下一个字符串的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *argv[]理解成2维数组
自增表示下一行。
自增表示下一行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++argv 是数组地址的相加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询