c++ Error] expected primary-expression before '||' token
3个回答
2018-03-06
展开全部
if( 0 == year % 400 || ( 0 == year %4 && 0 != year %100 ) )
追问
谢谢,成功了 但是是为什么呢?使用
if ( year%400 == 0)||( year%4 == 0 ) && ( year%100 != 0)不可以吗..
追答
if ( (year%400 == 0)|| (( year%4 == 0 ) && ( year%100 != 0) ))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、\n
2、if最外边加一个()
2、if最外边加一个()
追问
谢谢,成功了 但是是为什么呢?使用
if ( year%400 == 0)||( year%4 == 0 ) && ( year%100 != 0)不可以吗..
追答
不可以。if语法是if(...)。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//修改编译错误的办法:
//所有提示expected primary-expression before '&' token;的地方
//都把ArrayList&删掉
//以及将i和j的赋值语句改为i=list1.elems;j=list2.elems;
#include
#include
using namespace std;
#define INIT_SIZE 100
#define INC_SIZE 10
//定义一个线性表
typedef struct
{
int *elems;
int len;
int size;
}ArrayList;
ArrayList list1, list2, list3;
//初始化线性表
void init(ArrayList&list)
{
list.elems=(int *)malloc(sizeof(int)*INIT_SIZE);
list.len=0;
list.size=INIT_SIZE;
}
//打印顺序表
void print(ArrayList& list)
{
for (int i = 0; i < list.len; i++)
{
cout<<list.elems[i]<<"\n";
}
}
//销毁顺序表
void destroy(ArrayList& list)
{
free(list.elems);
list.len = 0;
list.size = 0;
}
//向顺序表index位置插入元素
void insert(ArrayList&list,int index,int e)
{
if(list.len>=list.size)
list.elems=(int *)realloc(list.elems, sizeof(int) * (INC_SIZE + list.size));
for(int i=list.len-1;i>=index;i--)
{
list.elems[i+1]=list.elems[i];
}
list.elems[index] = e;
list.len++;
}
//向顺序表末尾插入元素e
void add(ArrayList& list, int e)
{
insert(list, list.len, e);
}
//删除顺序表index位置的元素
void remove(ArrayList&list,int index)
{
for(int i=index;i<=list.len-2;i++)
{
list.elems[i]=list.elems[i+1];
}
list.len--;
}
//将1,2比较然后放入3中的函数
void merge(ArrayList&list1,ArrayList& list2,ArrayList& list3)
{
init(list3);
int *i,*j;int k=0;
i=list1.elems;
j=list2.elems;
for(int s=1;s<=list1.len && s<=list2.len;s++,i++,j++)
if(*i<*j)
{
insert(list3,k++,*i);
}
else insert(list3,k++,*j);
}
void testBasic()
{
init(list1);
init(list2);
init(list3);
add(list1, 3);
add(list1, 7);
add(list2, 2);
add(list2, 4);
add(list2, 5);
merge(list1, list2, list3);
print(list3);
destroy(list1);destroy(list2);destroy(list3);
}
int main()
{
testBasic();
}
//所有提示expected primary-expression before '&' token;的地方
//都把ArrayList&删掉
//以及将i和j的赋值语句改为i=list1.elems;j=list2.elems;
#include
#include
using namespace std;
#define INIT_SIZE 100
#define INC_SIZE 10
//定义一个线性表
typedef struct
{
int *elems;
int len;
int size;
}ArrayList;
ArrayList list1, list2, list3;
//初始化线性表
void init(ArrayList&list)
{
list.elems=(int *)malloc(sizeof(int)*INIT_SIZE);
list.len=0;
list.size=INIT_SIZE;
}
//打印顺序表
void print(ArrayList& list)
{
for (int i = 0; i < list.len; i++)
{
cout<<list.elems[i]<<"\n";
}
}
//销毁顺序表
void destroy(ArrayList& list)
{
free(list.elems);
list.len = 0;
list.size = 0;
}
//向顺序表index位置插入元素
void insert(ArrayList&list,int index,int e)
{
if(list.len>=list.size)
list.elems=(int *)realloc(list.elems, sizeof(int) * (INC_SIZE + list.size));
for(int i=list.len-1;i>=index;i--)
{
list.elems[i+1]=list.elems[i];
}
list.elems[index] = e;
list.len++;
}
//向顺序表末尾插入元素e
void add(ArrayList& list, int e)
{
insert(list, list.len, e);
}
//删除顺序表index位置的元素
void remove(ArrayList&list,int index)
{
for(int i=index;i<=list.len-2;i++)
{
list.elems[i]=list.elems[i+1];
}
list.len--;
}
//将1,2比较然后放入3中的函数
void merge(ArrayList&list1,ArrayList& list2,ArrayList& list3)
{
init(list3);
int *i,*j;int k=0;
i=list1.elems;
j=list2.elems;
for(int s=1;s<=list1.len && s<=list2.len;s++,i++,j++)
if(*i<*j)
{
insert(list3,k++,*i);
}
else insert(list3,k++,*j);
}
void testBasic()
{
init(list1);
init(list2);
init(list3);
add(list1, 3);
add(list1, 7);
add(list2, 2);
add(list2, 4);
add(list2, 5);
merge(list1, list2, list3);
print(list3);
destroy(list1);destroy(list2);destroy(list3);
}
int main()
{
testBasic();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询