Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带浮点数的C函数while(*a+;+;=*b+;+;)_C - Fatal编程技术网

带浮点数的C函数while(*a+;+;=*b+;+;)

带浮点数的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对给定给它的变量进行阴影处理 这两个浮点指针都未初始

我不学习C,我必须告诉你下面的函数是做什么的:

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++);
}