2008
10-17

++操作容易C:\135\1.cpp(194) : error C2105: ‘++’ needs l-

value

的报错!#include <stdio.h>

void main()

{

  char a[5]={‘A’,'B’,'C’,'D’,'E’},*p=a,i;

  for(i=0;i<5;i++)

  printf(“%c”,*a++);

}

为什么编译不成功?


++操作》有 4 条评论

  1. Perfect 说:

    i是字符型的不能进行++

     

    你应该  把你的第一行定义改为如下形式

    char a[5]={‘A’,'B’,'C’,'D’,'E’};
     char *p = a;
     int i =0;

     

  2. mhjerry 说:

    #include <stdio.h>
    void main()
    {
      char a[5]={‘A’,'B’,'C’,'D’,'E’},*p=a;
      int i;
        for(i=0;i<5;i++)
          printf(“%c”,*a++);
    }

    编译不过!

  3. Perfect 说:

    把 定义*p

    放在单独一行并对其赋值

    就行了

  4. 星情飞飞 说:

    “i”

    应该定义为整型

    最后一句应改为 printf(“%c”,*p++);

    或 printf(“%c”,*(a+i));

留下一个回复