Chào mọi người, hiện tại em đang tự học lập trình.
Em có viết code như sau thì bị lỗi
Mọi người giúp em nhé.
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
a=0;
b=0;
if(a=0)
c=c+1;
if(b=0)
c=c+1;
}
Chào mọi người, hiện tại em đang tự học lập trình.
Em có viết code như sau thì bị lỗi
Mọi người giúp em nhé.
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
a=0;
b=0;
if(a=0)
c=c+1;
if(b=0)
c=c+1;
}
Đúng quá rồi, chưa khởi tạo c mà 
Anh nói rõ cho em được không ạ?
a với b thì gán = 0 rồi, c thì chẳng biết bằng bao nhiêu mà dám cả gan c = c + 1 (tăng lên 1). Một số không biết có tăng bao nhiêu thì vẫn là 1 số không biết.
Compiler không cho phép, bạn cứ tưởng tượng cây ram của bạn như đất đai không ai dùng cả, cỏ dại cây cối mọc tùm lum, giờ bạn khai báo biến thì giống như bạn khoanh vùng đất đai để sử dụng, nhưng lại chưa khai quang, compiler không cho phép bạn lao động sản xuất mà chưa khai quang, bạn phải khai quang cái đã (gán giá trị ban đầu cho nó). Việc bạn chưa khai quang mà lại lao động sản xuất trên đó thì sẽ bị chi phối bởi hiện trạng của mảnh đất đó, mà đất chưa khai quang thì tác động như thế nào đến quá trình lao động sản xuất thì có trời biết.
Đơn giản vì code của bạn không gán c bằng gì cả mà đã cho c lên 1 đơn vị
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c; // Khai báo 3 variable a, b và c
a=0; // Gán a = 0
b=0; // Gán b = 0
// Không thấy gán c cho giá trị nào
if(a=0)
c=c+1; // c chưa gán giá trị mà đã tăng c lên 1. LỖI!
if(b=0)
c=c+1;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?