2016-11-30 5 views
-1

私の質問が愚かであるか、既に回答されている場合は、初めてフォーラムを使用しているので、あなたは私を失礼させるでしょう+まだ初心者です。私は時間の中で学ぶでしょう。program.exeが動作を停止しました(c)

とにかく、私は動作していないようなコード行を書きました。プログラムをコンパイルして実行すると、小さなウィンドウが開き、 "myprogram.exeが動作を停止しました"というメッセージが表示され、ウィンドウが問題の解決方法を確認しています。それがあなたに手がかりを与えるなら、私はコードブロックを使用しています。ここで

はプログラムです:

#include <stdio.h> 
#include <stdlib.h> 

int main(void) 
{ 
    char *ptr,*p; 
    p=ptr; 
    ptr="Lineage"; 
    while (*ptr!='\0') 
     ptr++; 
    ptr--; 
    while (ptr>=p) 
     { 
     putchar(*ptr); 
     ptr--; 
     } 
    return 0; 
} 
+1

出力はどれくらいですか?デバッガの使い方を学ぶ。 –

答えて

3
while (ptr>=p) 

pポインタがuninitalizedです。初期化されていない値を使用すると、UBにつながります。

ptrpに割り当てています。その時点でptr自体は有効なメモリ位置を指していません。

+0

イェップ、それでした!非常にGopiありがとう! – Achilles

+0

probs .. @アキレス腱... – Gopi

関連する問題