30/09/2018, 20:25

1 lỗi khó chịu khi lập trình C cần được giải đáp

Em đang lập trình 1 thuật toán nhỏ có code như sau


Nhưng khi chạy thử thì nó báo 1 lỗi rất lạ . Các anh chị giúp em với ( lỗi nó trông như thế này

Bé tập Code viết 22:39 ngày 30/09/2018

scanf truyền vào địa chỉ chứ không phải giá trị. &a thay vì a.

Với lại chương trình của bạn nếu chạy được thì nhập vào 1,2,3,4 sẽ cho ra số lớn nhất là 2

sang le viết 22:39 ngày 30/09/2018

sửa lại 2 dòng imax=c và imax=d là xong nhé

Ngô Doãn Tuấn viết 22:32 ngày 30/09/2018

Lenh scanf truoc cac bien ban can bo sung &
O ngon ngu C de nhap duoc thi ban can truyen vao dia chi chu khong chi don thuan la bien

Nguyễn Văn Cao viết 22:35 ngày 30/09/2018

sao lại ra 2 hả bạn tớ nghĩ code được đọc từ trên xuống dưới , nên như bạn nói nếu là số 1 2 3 4 thì tớ so sánh 1 và 2 rồi gán 2 = imax sau đó tớ so sánh imax với b và c mà

Nguyễn Văn Cao viết 22:40 ngày 30/09/2018

à rồi tớ gán imax cho c và d chứ không phải gắn c , d cho imax . cảm ơn cậu nhé

Nguyễn Văn Cao viết 22:30 ngày 30/09/2018

ừm đúng rồi cảm ơn nhé

Nguyễn Văn Cao viết 22:33 ngày 30/09/2018

nhưng các cậu ơi sao khi build nó lại không thông báo với mình mà lại xuất hiện lỗi thế kia nhỉ ?

Bé tập Code viết 22:38 ngày 30/09/2018

chương trình bạn đang bị crash, nhiều lý do dẫn tới, bạn quên return trong main, thêm vào rồi build lại thử.

Nguyễn Văn Cao viết 22:40 ngày 30/09/2018

tớ đã chữa mà vẫn không ăn thua

sang le viết 22:25 ngày 30/09/2018

lỗi gì vậy bạn?
anyway đoạn code của bạn chỗ if (d >=imax) bỏ dấu “;” ở cuối đi nhé! nếu không nó sẽ gán imax=d đó!
lần sau bạn nhớ post code lên nữa nhé, để có gì mình chạy thử!

loi viết 22:27 ngày 30/09/2018

Bạn xem blog của Đạt có giải bài này đó. Giải bài tập Aptech phần 2.

loi viết 22:29 ngày 30/09/2018
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a, b, c, d, soLonNhat, soLonNhat1, soLonNhat2;
printf("Nhap bon so nguyen duong a, b, c, d: \n");
scanf("%d %d %d %d",&a,&b,&c,&d);

if (a > b )
    soLonNhat1 = a;
else
    soLonNhat1 = b;

if (c > d)
    soLonNhat2 = c;
else
    soLonNhat2 = d;

if (soLonNhat1 > soLonNhat2)
    soLonNhat = soLonNhat1;
else
    soLonNhat = soLonNhat2;

printf("So lon nhat can tim la: %d \n",soLonNhat);

return 0;
}

Mình cũng thử làm lại nhưng nó cũng báo lỗi:
D:\C\Project1\Project 11\main.c|22|error: ‘else’ without a previous ‘if’|

Nhìn đi nhìn lại chẳng biết lỗi gì @@

Quân Lê viết 22:25 ngày 30/09/2018

Bỏ dấu chấm phẩy sau if cuối cùng đi !

Bài liên quan
0