变量的自增或自减有两种写法:
变量名++; // 表示在本次使用变量后再自增;
++变量名; // 表示在本次使用变量前自增;
变量名–; // 表示在本次使用变量后再自增;
–变量名; // 表示在本次使用变量前自减;
前自增和后自增的异同:
相同:
最终都是i的值加一
不同:
前自增整体表达式的值是i加1之后的值
后自增整体表达式的值是i加1之前的值
用函数表明前自增和后自增都是i的值加1
//前自增
void insert_list(PNODE pHead, int pos, int val)
{
PNODE p = pHead;
int i = 0;
while(i<pos-1 && p != NULL)
{
p = p->pNext;
++i;
}
if(i>pos-1 || NULL == p)
{
printf("插入失败!\n");
exit(-1);
}
PNODE pNew = (PNODE)malloc(sizeof(NODE));
if(NULL == pNew)
{
printf("动态内存分配失败,结束程序!\n");
exit(-1);
}
PNODE q = p->pNext;
pNew->pNext = q;
p->pNext = pNew;
pNew->data = val;
return;
}
//后自增
void insert_list(PNODE pHead, int pos, int val)
{
PNODE p = pHead;
int i = 0;
while(i<pos-1 && p != NULL)
{
p = p->pNext;
i++;
}
if(i>pos-1 || NULL == p)
{
printf("插入失败!\n");
exit(-1);
}
PNODE pNew = (PNODE)malloc(sizeof(NODE));
if(NULL == pNew)
{
printf("动态内存分配失败,结束程序!\n");
exit(-1);
}
PNODE q = p->pNext;
pNew->pNext = q;
p->pNext = pNew;
pNew->data = val;
return;
}
结果:
前自增:
后自增: