30/09/2018, 19:41
Tìm kiểu dữ liệu cho biến
Thầy giáo e ra đề bài thế này: nhập vào chương trình 1 số nguyên, nếu giá trị 1 in ra " lap vong for", nếu giá trị 0 in ra " lap vong while", nếu giá trị k phải là 1 hoặc 0 thì in ra " nhap lai". Chương trình chạy liên tục, chỉ thoát khi người dùng bầm phím “q” trên bàn phím.
E làm bài mà k biết nên khai báo biến ở kiểu gì? Ở lớp e mới học câu lệnh if, while, for.
Bài liên quan
while(true){
char s[10];
scanf("%s",s);
if(strcmp(s,“0”)) puts(“for”);
else if(strcmp(s,“1”)) puts(“while”);
else if(strcmp(s,“q”)) break;
}
Bạn ơi, mình code bằng C++ như thế này nhưng lại báo lỗi, mình sửa như thế nào vậy bạn?
Lỗi thông báo là: [Error] ISO C++ forbids comparison between pointer and integer [-fpermissive] tại chỗ mình đánh dấu trong bài code.
Bạn xem thế này được ko
Bạn ơi, bài của bạn chạy rồi nhưng mình k hiểu đoạn này lắm ((int)a-‘0’==0) hay ((int)a-‘0’==1)
Sao phải khai báo lại biến a theo kiểu int và có dấu trừ ở đoạn sau?
Nếu như sau nay mình muốn code chương trình mà có cả số và kí tự thì mình nên dùng kiểu dữ liệu nào để xử lí?
Mình cảm ơn bạn
Trong cái code C++ gốc của bạn, bạn khai báo a là dạng char
Trong code của mình, mình chèn thêm (int) a -‘0’ mục đích là chuyển đổi từ char sang integer thôi, sau đó mới thực hiện so sánh vs số 0 là integer