0
我不同意這種情況下明白了,但這對我來說真的很重要,請大家幫我...混淆「訪問衝突」
void __fastcall TForm1::Button4Click(TObject *Sender)
{
String masuk, keluar, kosong;
int i, x, j, n = 0;
masuk = Edit2->Text;
keluar = masuk;
kosong = " ";
n = 0;
x = 0;
mulai:
i = 1;
j = 0;
j = j + n;
i = i + j;
if (masuk[i] == 'a')
{
keluar[i] = 't';
}
else if (masuk[i] == 't')
{
keluar[i] = 'a';
}
else if (masuk[i] == 'c')
{
keluar[i] = 'g';
}
else if (masuk[i] == 'g')
{
keluar[i] = 'c';
}
else
{
Application->MessageBoxA("Masukan Anda Salah", "Peringatan", MB_OK | MB_ICONWARNING);
keluar = kosong;
goto end;
}
n = n + 1;
if (i < 10)
goto mulai;
else
goto end;
end:
Memo1->Text = keluar;
}
,如果我做masukan超過10(我< 10 (10作爲默認值)),但是如果它小於10,它會使消息異常類EAccessViolation ..
爲什麼'goto's而不是一個適當的循環? – 2012-02-16 21:31:55
訪問衝突通常意味着您嘗試訪問當前內存塊不可用的內存,即您超出了數組的範圍(字符串)。另外,不要使用goto。 – MGZero 2012-02-16 21:31:57
看起來像DNA/RNA相關的東西。我假設a,t,g,c是腺苷,鳥嘌呤,胸腺嘧啶和胞嘧啶。 – 2012-02-16 21:40:21