LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2249|回复: 27

关于argc,argv[]的问题,在线等

[复制链接]
发表于 2005-6-10 09:54:43 | 显示全部楼层 |阅读模式
在Linux下,这样一个小程序,
main( int argc, char * argv[])
{
     int i;
     for(i=0;i<argc;++i){
                    printf("argv[%d];%s\n,i,argv");
                   }

}
在编译的时候,出现了一个错误,就是它老是说argc没有声明,所以,我的程序过不去,
请教高手
发表于 2005-6-10 10:07:04 | 显示全部楼层
没有什么问题吧。我试了试没有错误。
回复 支持 反对

使用道具 举报

发表于 2005-6-10 10:38:04 | 显示全部楼层
我编译了,也没错误
回复 支持 反对

使用道具 举报

发表于 2005-6-10 12:53:19 | 显示全部楼层
把你的编译方法和错误信息帖出来啊
回复 支持 反对

使用道具 举报

发表于 2005-6-10 19:11:25 | 显示全部楼层
printf("argv[%d];%s\n,i,argv");

按程序的原意,应该是printf("argv[%d],%s\n",i,argv)这样吧~
意思应该输出argv对应的位置参数吧~!
回复 支持 反对

使用道具 举报

发表于 2005-6-10 20:16:33 | 显示全部楼层
程序语法固然值的商榷,但编译应该不会有什么问题的
回复 支持 反对

使用道具 举报

发表于 2005-6-11 00:45:51 | 显示全部楼层
Post by nait
程序语法固然值的商榷,但编译应该不会有什么问题的

程序本身没有错呀。argc是指在命令行下的参数加上程序本身的数目,而argv[]则是一个指向每个参数的指针数组。比如:abc  b c d,此时argc的值就为4,而argv[0]指向abc,同理argc[1]指向b等。楼主这个程序的目的就是打印出所有的参数和文件名。不过在printf时有点问题,应改为printf("argc[%d];%s\n",i,argv),这样就是这个程序的目的了,不然它就是显示引号中的哪句话。^_^
回复 支持 反对

使用道具 举报

发表于 2005-6-11 11:37:28 | 显示全部楼层
Post by takeonme1000
程序本身没有错呀。argc是指在命令行下的参数加上程序本身的数目,而argv[]则是一个指向每个参数的指针数组。比如:abc  b c d,此时argc的值就为4,而argv[0]指向abc,同理argc[1]指向b等。楼主这个程序的目的就是打印出所有的参数和文件名。不过在printf时有点问题,应改为printf("argc[%d];%s\n",i,argv),这样就是这个程序的目的了,不然它就是显示引号中的哪句话。^_^

我表述的不准确,我的意思是,程序语法方面没有问题,但执行时可能会有问题,编译应该会通过。
而且原程序不会仅仅只打印引号中的内容的,如果是这样的话,程序执行就不会有错了,虽然结果和预期的不会一样
回复 支持 反对

使用道具 举报

发表于 2005-6-12 19:15:46 | 显示全部楼层
main( int argc, char * argv[])
{
int i;
for(i=0;i<argc;++i){
printf("argv[%d];%s\n,i,argv");
}

多处不符合 ANSI的语法, 1,应该指定 main 的返回类型
如果空 +void
没有给OS  返回数值,如果int 该有 return 0;
" 用错了地方

#include <stdio.h>
void main(int argc, char* argv[])

{
        int i;
        for(i=0;i<argc;++i)
        {
                printf("argv[%d] %s\n",i,argv);
        }

                return;
}

这才是正确的写法
回复 支持 反对

使用道具 举报

发表于 2005-6-13 00:11:06 | 显示全部楼层
呵呵,ANSI C里头好象没有这样的规定吧。
main 不标明默认是int
return不写默认是返回0
见k&R第二版一开始那个helloworld程序
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表