30/09/2018, 21:17
Lỗi khi chạy chương trình C có chương trình con
Chương trình dưới của e khi nhập lựa chọn 1 ra MENU 2 nhập tiếp số 1,2 hay 3 đều in ra màn hình xong và xuất hiện lỗi “has stopped working” còn nếu nhập 2,3 từ MENU đầu thì k sao. E dùng c-free 5.0
#include<stdio.h>
#include<conio.h>
void hammot();
void hamhai();
main()
{
int k;
printf(" MENU
======================================");
printf("
1. ham mot
2. ham hai
3. Ket thuc
Chon: ");
scanf("%d",&k);
switch(k)
{
case 1: hammot();
break;
case 2: hamhai();
break;
case 3:
break;
}
getch();
}
void hammot()
{
char i;
printf("
MENU2
======================================");
printf("
1. lua chon 1
2. Lua chon 2
3. Ket thuc
Chon: ");
scanf("%d",&i);
printf("Ban lua chon %d",i);
}
void hamhai()
{
printf("
Ham 2");
}
Bài liên quan
Nên để
int main()
Chỗ này của bạn có vấn đề :D[quote=“viethung26, post:1, topic:27426”]
case 1: hammot();
break;
[/quote]
Nên dùng {} block code lại
Nên có
dù không dung
ak e biết rồi sai ở khai báo char thay bằng int là được nhưng mà không hiểu sao char có vùng biểu diễn từ -126 đến 125 mà nhỉ. E muốn tiết kiệm bộ nhớ
Bạn dùng kiểu định dạng chưa đúng.
Nhưng mà tại sao nó vẫn hiểu đúng đến cuối chương trình thì nó báo sai. E thử thay char k thay vì int k ở main() thì nó vẫn chạy chương trình con rồi mới báo lỗi ở cuối chương trình
Đơn giản là vì ide bạn sử dụng bắt lỗi không cao.
Nếu dùng trực tiếp compiler để buil thì sẽ báo lỗi ngay lập tức mà
Thử chuyển qua codeblock để làm. Codeblock bắt lỗi chặt chẽ hơn free-c
Hiểu rồi. E cảm ơn a nhé