ฉันมีปัญหากับการคอมไพล์บน Codeblocks ของ Ubuntu ในโหมดรีลีส ใน Debug เช่นเดียวกับใน IDE อื่นๆ ค่าเอาต์พุตจะออกมาอย่างถูกต้อง แต่ในโหมดรีลีสจะเป็นดังนี้:
รหัสนี้เป็นอัลกอริธึม Euclid อย่างง่ายในการคำนวณตัวหารร่วมมาก (mdc):
#รวม <stdio.h>
#รวม <stdlib.h>
int หลัก ()
{
int maioref, menoref, maior, เมนอร์, เรสโต, mdc;
printf("Digite o módulo do maior valor para แคลคูลาร์ o mdc:\n");
scanf("%d", &maioref);
printf("Digite o módulo do menor valor para calcular o mdc:\n");
scanf("%d", &menoref);
ไมเออร์ = ไมโอเรฟ;
เมนอร์ = เมโนเรฟ;
ในขณะที่(เรสโต!=0)
{
เรสโต=maior%menor;
maior = เมนเนอร์;
เมนอร์ = เรสโต;
}
mdc = ไมเออร์;
printf("O Mdc entre %d e %d é: %d", maioref, menoref, mdc);
กลับ 0;
}
เอาต์พุตในโหมดรีลีสที่มีค่า (24;15):
ป้อนโมดูลัสของค่าสูงสุดเพื่อคำนวณ mdc:
24
ป้อนโมดูลัสของค่าที่น้อยที่สุดเพื่อคำนวณ mdc:
15
Mdc ระหว่าง 24 และ 15 คือ 24
เอาต์พุตในโหมดดีบักที่มีค่า (24;15):
ป้อนโมดูลัสของค่าสูงสุดเพื่อคำนวณ mdc:
24
ป้อนโมดูลัสของค่าที่น้อยที่สุดเพื่อคำนวณ mdc:
15
Mdc ระหว่าง 24 และ 15 คือ 3
เกิดอะไรขึ้น? (obs: ขอโทษสำหรับภาษาอังกฤษที่ไม่ดี)