0){printf("%s\n",*++p); } }报错:Error '++' needs l-value 但我是下面的就不报呢,怎么回事呢int main(int argc,char *argv[]){//int i = argc-1; while(argc-" />
您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> Error '++' needs l-value

Error '++' needs l-value

来源:网络整理     时间:2016/7/15 3:20:57     关键词:

关于网友提出的“ Error '++' needs l-value”问题疑问,本网通过在网上对“ Error '++' needs l-value”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Error '++' needs l-value
描述:

main()
{
char *p[]= {"1TST","2LDIO","3KLCI"};
int i=3;
while (i-->0)
{
printf("%s\n",*++p);
}
}
报错:Error '++' needs l-value
但我是下面的就不报呢,怎么回事呢
int main(int argc,char *argv[]){
//int i = argc-1;
   while(argc-->1)
    {
        printf("%s\n", *++argv);
    }
  return 0;
 }

解决方案1:

Error '++' needs l-value
这个报错的意思是,++运算符需要左值
第一个例子不行是因为p是数组名,数组名不能作为左值
第二个例子,虽然argv看上去和p是一模一样的数组名,但是因为它是main函数的参数,数组作为参数传入时会退化为指针,指针的话可以作为左值
我是这么认为的....

解决方案2:

数组名是不可赋值的左值


以上介绍了“ Error '++' needs l-value”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2655342.html

相关图片

相关文章