###前提・実現したいこと
初めての質問です。
C言語でプログラムを書き終えてから、
途中で、#defineで書いていた値を、変数にしてループにしたい、
…例えば、#define N 30
としていたNを1,2,…,30のように順次値を変えて結果を出力したい…
と思って、調べてみたのですが、
プリプロセッサの話となると難しくてイマイチよく理解できず…。
関数マクロが分からなくて困ってます(T_T)
どなたか詳しい方教えてくださいませ。
###ソースコード
#include <stdio.h> #include <stdlib.h> #define K 30 //←これをmain内をそのままにループにしたい #define N 45 int main(void){ int x[K][N] = {0}; int z[K][N] = {0}; int w[K][N] = {0}; for(int p=0; p<K; p++){ for(int q=0; q<N; q++){ for(int r=0; r<N; r++){ ・・・(中略)
###試したこと
defineを消して、ソースコード全体を
安直にforで括ってみたら下のように出ました。
error: variable-sized object may not be initialized
これを解決する方が簡単かもしれませんが、
勉強のために#defineでのループが、もし出来るならそれで解決したいと思っています。

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。