ツリーのようなBFSを作成しようとしています。私は木を作って子供を待っていた。Mallocのオペレーティングシステム間で異なる結果
私はここにコードを書いていますhttps://github.com/cengek/CKDatastruct。
しかし、奇妙なことに、WindowsとMinGWを使用してコンパイルする友人がエラーを返すと、それは間違いです。 OSXとLinuxでは発生しません。
私の友人は、mallocを使用するとエラーになると言いました。
私はどこにエラーがない固有のコードを知らないが、私はそれがここに
これは私がキュー
while (isEmpty(antrianNodes) != 1) {
//tampilkan isinya
printf("%c,", antrianNodes.first->paket.s->c);
simpul * now = antrianNodes.first->paket.s;
simpul * nodePertama = now;
//jika punya anak
//masukkan child dari node alamat di queue ke dalam queue sekarang
if(now->child != NULL){
simpul * nowchild = now->child;
//jika punya saudara
if(nowchild->sibling != NULL){
//looping memasukkan anak-anak
while (nowchild->sibling != now->child) {
add(&antrianNodes, nowchild);
nowchild = nowchild->sibling;
}
//masukkan yang terakhir
add(&antrianNodes, nowchild);
}else{
//tak punya saudara masukkan saja satu
add(&antrianNodes, nowchild);
}
}
del(&antrianNodes);
}
と中に木の子を置く部分であるにだと思いますここで子をキューに追加して処理できるようにします。それは子供のプリントをします。
void add(queue *Q, simpul *s){
elemen * baru = (elemen *) malloc(sizeof(elemen));
baru->paket.s = (simpul *) malloc(sizeof(simpul));
baru->paket.s = s;
baru->next = NULL;
if(isEmpty(*Q) == 1){
(*Q).first = baru;
(*Q).last = baru;
}else{
(*Q).last->next = baru;
(*Q).last = baru;
}
(*Q).jumlahElemen++;
}
私はそれがキューと木の通常のコードだと思います。
私の友人は、エラーを言ったように正直なところ、私はそれがすべてのオペレーティングシステムで妙に違うんので、私はideoneでそれをコンパイルしようと、正しい結果が得られました正確な部分を知りません窓からこの
Problem signature:
Problem Event Name: APPCRASH
Application Name: main.exe
Application Version: 0.0.0.0
Application Timestamp: 4fa665b6
Fault Module Name: main.exe
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4fa665b6
Exception Code: c0000005
Exception Offset: 000015e0
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
Cのようなものです:\ WINDOWS \ SYSTEM32 \ EN-US \は
すべてのオペレーティングシステムが異なるのmallocをするのかをerofflps.txt?それともエラーを起こすのは私のコードですか?
よろしく giripp
にお答えしようとするあなたのための
みんなありがとう! – Oleksi
すべてのコードを読むだけでいいと思いますか?どうして?関連部分をここに入れてください。 – littleadv
@Oleksi私の友人たちはスクリーンショットをしています。 main.exeは動作を停止しました Windowsは問題を解決するためにオンラインで確認できます – giripp