我同时分配三个变量,但代码给我带来了一个错误



我的代码是:

#include<iostream>
using  namespace std;
int main()
{
int arr[5] = {6,7,3,61,9};
int *p = arr;
int a,b,c = *p, *(p+1), *(p+2);
// int a,b,c ;
// a = *p;
// b = *(p+1);
// c = *(p+2);
return 0;
}

这给我带来了一个错误:";错误:在"+"标记之前应为"(";。当我尝试运行注释代码时,没有出现任何错误。谁能解释一下为什么会出错吗。

这不是在C++中声明和初始化多个变量的正确语法。如果你真的想让它们都在一条线上,那就是

int a = *p, b = *(p + 1), c = *(p + 2);

但很多人会建议只使用三条独立的线路:

int a = *p;
int b = *(p + 1);
int c = *(p + 2);

相关内容

最新更新