Hỏi về hàm getch() và return() trong C

ở đây mình có 2 ví dụ
[AH]
Mã:
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
int main()
{
    int i, j, dem = 0;
    char s[100];
    printf("\n Nhap chuoi:  ");
    gets(s);
    for(i=0,j=strlen(s)-1; i<j; i++, j--)
    {
        if(s[i]!=s[j])
        {
            printf("\n khong doi xung");
            getch();
            return 0;
        }
        else
        {
            dem++;
        }
    }
    printf("\n co doi xung");
    printf("\n So chhu giong nhau trong chuoi: %d", dem);
    return 0;
}
[/AH]
[AH]
Mã:
#include<stdio.h>
#include<conio.h>
#include<string.h>
 
int main()
{
    int i, j, dem = 0;
    char s[100];
    printf("\n Nhap chuoi:  ");
    gets(s);
    for(i=0,j=strlen(s)-1; i<j; i++, j--)
    {
        if(s[i]!=s[j])
        {
            printf("\n khong doi xung");
            //getch();
            //return 0;
        }
        else
        {
            dem++;
        }
    }
    printf("\n co doi xung");
    printf("\n So chhu giong nhau trong chuoi: %d", dem);
    return 0;
}
[/AH]

khác nhau ở dòng 16 và 17
mấy pro cho mình hỏi là tại sao khi có
Mã:
getch();
return 0;
thì chương trình tới đây là dừng k chạy 2 lệnh
Mã:
printf("\n co doi xung");
    printf("\n So chhu giong nhau trong chuoi: %d", dem);
, k có
Mã:
getch()
hoặc
Mã:
return 0
vẫn dừng
còn nếu thiếu cả 2 lệnh trên thì chương trình chạy tuần tự xong vẫn chạy 2 câu lệnh
Mã:
printf("\n co doi xung");
    printf("\n So chhu giong nhau trong chuoi: %d", dem);
Vậy tác dụng của cặp lệnh
Mã:
getch();
return 0;
là gì mong mấy a đi trước chỉ dạy
 

taplamhacker

♥ Thanh Trâm ♥
Reply: Cần giúp về câu lệnh trong C

hình ảnh khi test

getch();
return 0;
vforum.vn-171830-oegsudx.png

k có
getch();
return 0;
vforum.vn-171830-jcmrmji.png
 

Lê Minh

✩✩✩✩
Reply: Cần giúp về câu lệnh trong C

return thì dễ hiểu là trả về kết quả cuối cùng của hàm rồi. Chỉ cần 1 cái không đối xứng là nó đã không đối xứng.
Còn getch()(viết tắt của get character) thực ra là 1 hàm để lấy 1 ký tự từ bàn phím, nhưng trong trường hợp này nó sẽ giúp dừng màn hình lại để xem :sexy_girl:

Thiếu 2 cái thì nó vẫn chạy hết vòng lặp cho tới cuối cùng :sexy_girl:
 

taplamhacker

♥ Thanh Trâm ♥
Reply: Cần giúp về câu lệnh trong C

return thì dễ hiểu là trả về kết quả cuối cùng của hàm rồi. Chỉ cần 1 cái không đối xứng là nó đã không đối xứng.
Còn geth() thực ra là 1 hàm để lấy 1 ký tự từ bàn phím, nhưng trong trường hợp này nó sẽ giúp dừng màn hình lại để xem :sexy_girl:

Thiếu 2 cái thì nó vẫn chạy hết vòng lặp cho tới cuối cùng :sexy_girl:
:pcry: rõ thêm xíu đi a
vậy ví dụ ở trong hàm main
thì có return 0 là nó dừng lại hả a
 

Lê Minh

✩✩✩✩
Reply: Cần giúp về câu lệnh trong C

:pcry: rõ thêm xíu đi a
vậy ví dụ ở trong hàm main
thì có return 0 là nó dừng lại hả a
Đúng rồi đó em, ví dụ đây không phải là hàm main, mà là 1 hàm em tự xây dựng ví dụ int kiemTraDoiXung(s) chẳng hạn, khi em return 0 hoặc 1 thì nó sẽ dừng hàm và trả về kết quả return để check xem kiểm tra chuỗi có đối xứng hay không bằng đúng và sai. 0 là sai và 1 là đúng

Ví dụ em check

if(kiemTraDoiXung(s))
cout<<"Đối xứng";
else
cout<<"Không đối xứng";
 
Sửa lần cuối:

Thống kê

Chủ đề
100,614
Bài viết
467,349
Thành viên
339,819
Thành viên mới nhất
I7Vinity
Top