请教关于指针数组的问题~~~
main(int argc,char *argv[])
{
while(argc>1)
{++argv;
printf("%s\n",*argv); 此处为何不是argv???输出字符串时可以用指向字符串的指针变量阿,该怎么理解呢?望高手指明,thanks !)
--argc;
}
}
首先你要明白*argv是一个char型的指针数组,也就是说argv[]每个数据成员都是char *
那么现在我们来看看*argv和argv的区别
argv这里存放的是地址(int型)如果是printf("%s\n",argv);那么他输出的是int型的指针
但是,程序将他强制转化为char型,结果输出的将是乱码,
如果改成printf("%d\n",*argv)这样就会输出argv所指向的地址
printf("%s\n",*argv);就好解释了,输出argv指向的地址里的内容
[此贴子已经被作者于2004-06-23 23:26:57编辑过]