带浮点数的C函数while(*a+;+;=*b+;+;)
我不学习C,我必须告诉你下面的函数是做什么的:带浮点数的C函数while(*a+;+;=*b+;+;),c,C,我不学习C,我必须告诉你下面的函数是做什么的: x(a,b){ float *a,*b; while(*a++ = *b++); } 我知道这个函数是如何使用而不是floats字符的,但是我不知道它应该做什么。复制值或地址。如果值为什么在while循环中?这甚至不是“有效”代码(20年前,当没有类型的变量被假定为int时,它基本上是有效的) 在下面,我将假设a和b是int*(至少在参数中) 这是未定义的行为。 float*a、*b对给定给它的变量进行阴影处理 这两个浮点指针都未初始
x(a,b){
float *a,*b;
while(*a++ = *b++);
}
我知道这个函数是如何使用而不是floats字符的,但是我不知道它应该做什么。复制值或地址。如果值为什么在while循环中?这甚至不是“有效”代码(20年前,当没有类型的变量被假定为int时,它基本上是有效的)
在下面,我将假设a和b是int*
(至少在参数中)
这是未定义的行为。
float*a、*b代码>对给定给它的变量进行阴影处理
这两个浮点指针都未初始化(=它们可以具有所有可能的值,访问将使程序崩溃)
在while循环中,增加未初始化的指针。这可能会导致交通事故等
只要*b
不为零,这种方法就是逐值复制。谢谢,这就是我的想法。代码无效。现在我明白了。考虑接受这个答案吧,我可以帮忙。you@GoldenRC或者,如果你的意思是x(a,b)float*a,*b;{…}
那么这种语法已经被弃用了30多年了。
/*int*/ x(/*int*/a,/*int*/ b){
float *a,*b;
while(*a++ = *b++);
}