30/09/2018, 20:27
Tại sao vị trí khai báo biến sai lại gây ra lỗi?
đề viết chương trình nhập vào 1 số có 2 chữ số,in ra cách đọc của số này ,em không hiểu em khai báo biến :
int sochuso=log10((double)n)+1;
int hangchuc,donvi;
ngay ở đầu nhưng không chạy được nhưng khai báo trong đoan code sau lai chay được
int n;
printf("nhap so nguyen co 2 chu so:");
scanf("%i",&n);
int check=0;
if(n<0) {
check=1;
n=n*-1;
}
int sochuso=log10((double)n)+1;
int hangchuc,donvi;
if(sochuso==2) {
hangchuc=n/10;
donvi=n%10;
}
if(hangchuc==1) {
printf(" muoi ");
} else if(hangchuc==2) {
printf(" hai muoi");
} else if( hangchuc==3) {
printf(" ba muoi");
} else if (hangchuc==4) {
printf("bon muoi");
} else if( hangchuc==5) {
printf("nam muoi");
} else if (hangchuc==6) {
printf("sau muoi");
} else if (hangchuc==7) {
printf("bay muoi");
} else if (hangchuc==8) {
printf("tam muoi");
} else if (hangchuc==9) {
printf("chin muoi");
}
Bài liên quan
Biến này có sử dụng giá trị
n
Nên biến này chỉ được khai báo sau đoạn lấy giá trị
n
.Hoặc tách phần khai báo và định nghĩa ra
n
có giá trị tại runtime cònsochuso
có giá trị tại compile time. Tách phần khai báo và gán giá trị ra như gợi ý của bạn Đạt là hợp lýem cám ơn hai anh nhiều