c - 如何在C中打印数字的符号?

您可以只使用 printf 标志标志。+
#include
int main()
{
float f = 1.0;
printf("%f%+f",f,f);
return 0;
}
输出
1.000000+1.000000
更改为 -1:
-1.000000-1.000000
如果你真的需要空间,你将不得不做你描述的事情:
#include
#include
#include
void complexToString(double complex num, char * buffer){
double imag = cimag(num);
char sign = (imag<0) ? '-':'+';
sprintf(buffer,"%f %c %f i",creal(num),sign,fabs(imag));
}
int main()
{
double complex s = 3.14 + 5.14*I;
char buffer[50];
complexToString(s,buffer);
printf("%s",buffer);
return 0;
}
输出:
3.140000 + 5.142000 我