c语言中for后面没有条件,for语句条件成立也没有执行,该怎么处理

for语句条件成立也没有执行

CreateList(L,N);

temp = L;

while(temp->next != temp && temp)

{

for(i=M-1;i>0;i--)

{

if(temp->next == NULL)

temp->next = L->next;

else

temp = temp->next;

}

cout<next->nData<

temp->next = temp->next->next;

}

主要的代码如上,可是for语句根本没有执行,想不通

------解决思路----------------------

你调试过了吗,确定没有执行,最好把完整的代码贴出来

------解决思路----------------------

单步调试还看不出问题?

------解决思路----------------------

在for语句内外都打印循环变量不就清楚了吗?

------解决思路----------------------

M的值是多少

------解决思路----------------------

这样可好:

#include 

#include 

using namespace std;

typedef struct SNode

{

int nData;

struct SNode *next;

}SNode, *LinkList;

void CreateList(LinkList &L, int n)

{

//int i = n;

int i = 2;

L = (SNode*)malloc(sizeof(SNode));

L->nData = 1;

L->next = NULL;

LinkList p = L;

while (i <= n)

{

p->next = (LinkList)malloc(sizeof(SNode));

p = p->next;    //zx

p->nData = i;

//p->next = L->next;

//L->next = p;

i++;

}

p->next = L;   //构成环

}

int main()

{

int M, N;

int i, j = 0;

LinkList L, temp;

cout <

cin >> N >> M;

cout <

CreateList(L, N);

temp = L;

//while (temp->next != temp && temp)

//{

//for (i = M - 1; i>0; i--)

//{

//if (temp->next == NULL)

//temp->next = L->next;

//else

//temp = temp->next;

//}

//cout <next->nData <

//temp->next = temp->next->next;

//}

i = 1;

while (i 

{

j = 0;

while (1)

{

if (0 != temp->nData)

{

if (++j == M) break;

}

temp = temp->next;

}

cout <nData;

temp->nData = 0;

i++;

}

while (0 == temp->nData) temp = temp->next;

cout <nData <

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值