我们可以这样使用
for
语句吗? (C 编程语言)
for(int i = 0,double j = 2; i != j+134; i++, j = j+17);
我正在尝试学习链表,我尝试仅使用单个
for
来增加索引并将指针设置为下一个节点:
for(node* current,int i = 0; current!=NULL; current=current->next_node, i++);
那又怎样?
struct IntDouble { int i; double j; };
for (struct IntDouble q = {0, 2}; q.i != q.j + 134; q.i++, q.j += 17) /* void */;
请参阅代码“正在运行”:https://ideone.com/jEXBh7
与 C++ 相反,在 C 中你不能在 if 语句中声明对象。
看来你的意思是for语句
for(int i = 0,double j = 2;i != j+134;i++ , j = j+17);
代替 if 语句
if(int i = 0,double j = 2;i != j+134;i++ , j = j+17);
但是这个声明的语法
int i = 0,double j = 2;
不正确。您需要在 for 循环之前声明变量之一,例如
double j = 2;
for (int i = 0;i != j + 134; i++ , j += 17 );
如果变量 i 和 j 的类型说明符都是通用的(例如 int 类型),那么你可以这样写
for (int i = 0, j = 2;i != j + 134; i++ , j += 17 );
在忘记初始化指针的 for 循环中应该使用相同的方法
current
int i = 0;
for (node* current = head; current!=NULL; current=current->next_node,i++);
如果你真的想使用
if
语句,那么这一行
if(node* current = head,int i = 0; current!=NULL; current=current->next_node,i++);
应该由你喜欢重写
node *current = head;
int i = 0;
if ( current != NULL )
{
current = current->next;
i++;
}