[解決済み] C言語プログラムでのSIGXCPUエラー
2022-02-09 01:34:36
質問
次のプログラムは出力を生成しません。 forループに入り、1つの値を(
scanf
が、その後、コードブロックの実行が停止します。Ideone(オンラインコンパイラとデバッギングツール)は、SIGXCPUシグナルが発生したと言っています。
#include <stdio.h>
#include <stdlib.h>
long fact(int);
int z(int);
int main()
{
int i, n;
scanf("%d",&n);
int a[10];long b[10];
int c[10];
for(i=0;i<n;i++)
{
scanf("%d", &a[i]);
b[i]=fact(a[i]);
c[i]=z(b[i]);
}
printf("\n");
for(i=0; i<n; i++)
{
printf("%d", c[i]);
}
return 0;
}
long fact(int m)
{
if (m==1) return 1;
else return (m*fact(m-1));
}
int z (int s)
{
int c=0, temp;
temp=s%10;
if(temp!=0) return c;
else
{
c++; z(temp);
}
}
SIGXCPU信号とはどういう意味ですか?
解決方法は?
その
SIGXCPU
シグナルは、消費プロセッサ時間の制限を超えたプロセスに対して、毎秒送信されます (
RLIMIT_CPU
リアルタイムプロセスの場合は、スリープせずに実行できる限界値)。
ここで問題となるのは、再帰的な
z
関数が停止せず、何度も何度も自分自身を呼び出す(そしてスタックオーバーフローを引き起こす)。その停止条件を修正します。
から シグナル のマニュアルページをご覧ください。
Signal | Default Action | Description -------+----------------+------------------------- SIGXCPU| A | CPU time limit exceeded.
デフォルトのアクションは以下の通りです。
A - プロセスの異常終了。 さらに、実装で定義された異常終了動作が発生しました。 コアファイルの作成などが発生する可能性があります。
関連
-
[解決済み】エラー:cの入力の最後に期待される宣言またはステートメント
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】ISO C90では、C言語での宣言とコードの混在が禁止されています。
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】sizeof float (3.0) vs (3.0f)
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】ISO C90では、C言語での宣言とコードの混在が禁止されています。
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み] [Solved] .Cファイルをコンパイルしています。アーキテクチャ x86_64 の未定義シンボル
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない