1. ホーム
  2. C language

複数形使用時:'**'の前にイニシャライザを置く解決策を期待。

2022-02-14 14:32:02

コーディングのダミーとして複数形の使い方を学ぶ際、チュートリアルに沿って以下のコードを書きました。

#include <complex.h>
#include <stdio.h>


int main(void){
	double complex cx = 1.0 + 3.0*I;
	double complex cy = 2.0 - 4.0*I;
	printf("Working with complex numbers:\n Starting values: cx = %.2f%+.2fi cy = %.2f% +.2fi",creal(cx),cimag(cx),creal(cy),cimag(cy));
	return 0;
}

保存して、実行すると、以下のようなエラーが発生します。

よく確認すると、コードにエラーはないのですが、いつもエラーで実行され、Baiduの後ではほとんどがヘッダーファイルのエラーと言われています。そこで、<complex.h>のヘッダーファイルを開いて確認しましたが、どこが悪いのかわからず、ヘッダーファイル内の複素数を格納する宣言が以下の形になっているのを確認しました。

そこで、自分のコードにあるcomplexを_Complexに変えてみた。

#include <complex.h>
#include <stdio.h>


int main(void){
	double _Complex cx = 1.0 + 3.0*I;
	double _Complex cy = 2.0 - 4.0*I;
	printf("Working with complex numbers:\n Starting values: cx = %.2f%+.2fi cy = %.2f% +.2fi",creal(cx),cimag(cx),creal(cy),cimag(cy));
	return 0;
} and then it runs out!