01/10/2018, 00:31
Không thể build and run C trên codeblock
Mọi người giúp em với, code của em là: #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
const int MAX=100, MIN=1;
int soRandom, soBanChon;
srand(time(NULL));
soRandom = (rand() % (MAX -MIN + 1)) + MIN;
printf ("ban chon so nao?");
scanf ("%d", soBanChon);
while(soBanChon!=soRandom)
{
if(soBanChon<soRandom)
{
{
printf("Hay chon mot so lon hon di!");
}
}
else
{
{
printf("Ban hay chon mot so nho hon!");
}
}
}
return 0;
}
Bài liên quan
nếu mà chọn sai, thì nó run to die :v
Bạn sai syntax nữa,
scanf ("%d", soBanChon);
phải làscanf ("%d", &soBanChon);
, số random và số bạn chọn khác nhau là vòng while chạy hoài.sao lại phỉa thêm &, làm mấy cái bài đơn giản em có cần và đâu
Dấu
&
trong C để trả về địa chỉ của biến (ở đây là biếnsoBanChon
). Hàm scanf cần&
để set giá trị bạn nhập vào cho biếnsoBanChon
. Nếu không đặt dấu&
, thì khi bạn in giá trị của biến ra, nó sẽ in ra địa chỉ của biến đó chứ không phải giá trị của biến.Ở đây mình có hàm in thử giá trị của bien
soBanChon
sau khi tăng lên 1:Input: 5
Output: 2359037 (tùy máy), đây là địa chỉ của biến.
Đối với string (đặc tả
%s
) thì không cần&
do nó đã là 1 địa chỉ rồi.Còn mấy đặc tả còn lại phải thêm
&
em làm sai chỗ nào mà nó không chayj nhể
Code của bạn mình sửa lại chút.
Mình có góp ý như sau:
a < 0
, nên đểif (a != 0)
để xét cả 2.&
trước tên biến nữa, nếu để như vậy sẽ in ra địa chỉ của biến chứ không phải giá trị.a == 0
.Chúc bạn học tốt!