Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: Công dụng của lệnh return như thế nào?

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    56

    Red face Công dụng của lệnh return như thế nào?

    ngoài việt sử dụng để trả về giá trị cho hàm và hình như cũng có chức năng thoát khỏi hàm for hay while nưa,thì return còn làm gì nữa không???? ai biết xin nói rõ dùm tôi với
    cho hỏi thêm 1 vấn đề nửa
    đang coi trên diễn đàn thấy cái thuật tìm so CP
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <math.h>
    4. void main()
    5. {
    6.     int i; float b;
    7.     scanf("%d",&i);
    8.     b=sqrt(i);
    9.         if(b*b==i)
    10.     printf("la so CP");
    11. }
    em ko hieu sao kì quá b*b lúc nào lại không =i sao mà thuật này lại đúng vậy
    Đã được chỉnh sửa lần cuối bởi trungvn222 : 21-04-2009 lúc 07:24 PM.

  2. #2
    Ngày gia nhập
    04 2009
    Bài viết
    68

    Trích dẫn Nguyên bản được gửi bởi trungvn222 Xem bài viết
    ngoài việt sử dụng để trả về giá trị cho hàm và hình như cũng có chức năng thoát khỏi hàm for hay while nưa,thì return còn làm gì nữa không???? ai biết xin nói rõ dùm tôi với
    Hok phải thoát khỏi hàm for hay while mà là ngừng lại hàm luôn, hok thực hiện bất cứ cái ji nữa

  3. #3
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    1. Số chính phương là số ntn nhỉ ?? là số căn bậc 2 đúng ko
    VD. khi nhập vào là 9 thì áp dụng ctrinh kia vào thì có phải là
    b=sqrt(i); <==> b= sqrt(9)
    ==> b=3
    if(b*b==i)<=> 3*3==9
    ==> 3 là số cp

    2.theo mình biết thì return còn có 1 chức năng nữa là nó còn có thể trả về kiểu Boolean trong C (0 or 1)
    VD khi bạn viết hàm kiểm tra số nguyên tố thì hàm sẽ trả về 1 nếu n là số nguyên số ngược lại nó sẽ trả về 0 nếu ko phả là số nguyên tố


    Code:
    int ngto(int n)
    	{
    		int i,kt=1;
    		for(i=2;i<n-1;i++)
    			if(n%i==0)
    				{
    					kt=0;
    					break;
    				}
    		return kt;
    	}
    u never know

  4. #4
    Ngày gia nhập
    04 2009
    Bài viết
    68

    em ko hieu sao kì quá b*b lúc nào lại không =i sao mà thuật này lại đúng vậy
    Cái này là do lỗi máy thì phải. Khi nó ss một thực với một số nguyên thì sẽ sai. Vd như ss (0.9 - 0.6) với (0.6 - 0.3). Kết quả (0.9 - 0.6) sẽ lớn hơn (0.6 - 0.3)

  5. #5
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Trích dẫn Nguyên bản được gửi bởi xiu_coi Xem bài viết
    Cái này là do lỗi máy thì phải. Khi nó ss một thực với một số nguyên thì sẽ sai. Vd như ss (0.9 - 0.6) với (0.6 - 0.3). Kết quả (0.9 - 0.6) sẽ lớn hơn (0.6 - 0.3)
    Chả phải lỗi máy nào hết.
    Nó là kiến trúc máy tính về kiểu dấu chấm động (floating-point)
    None!

  6. #6
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    Mặc định Công dụng của lệnh return như thế nào?

    Trích dẫn Nguyên bản được gửi bởi xiu_coi Xem bài viết
    Cái này là do lỗi máy thì phải. Khi nó ss một thực với một số nguyên thì sẽ sai. Vd như ss (0.9 - 0.6) với (0.6 - 0.3). Kết quả (0.9 - 0.6) sẽ lớn hơn (0.6 - 0.3)
    Sao lại ko thể so sánh số thực và số nguyên được bạn.
    VD int a=9;
    float b=9.9
    bạn thử so sánh 2 số này xem máy có báo lỗi ko mà bảo ko so sánh dc
    u never know

  7. #7
    Ngày gia nhập
    03 2009
    Nơi ở
    Ở địa ngục
    Bài viết
    667

    So sánh 2 số xác định thì được.
    VD:
    float a=5;
    int c=5;
    thì a==c là đúng, chỉ đúng trong 1 số trường hợp.
    Nhưng so sánh các phép toán trên số thực thì không được.

  8. #8
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    ai bảo thế tôi dùng BC so sánh nó đúng ko báo lỗi . bạn thử check đoạn code này thì bít liền

    Code:
    #include <stdio.h>
    #include <conio.h>
    
    void main()
    	{
    		clrscr();
    		float a=9.9;
    		int b=9;
    		if(a>b)printf("  a lon hon b");
    		else if (a==b)printf(" a bang b");
    		else printf("  a nho hon b");
                    getch();
    	}
    u never know

  9. #9
    Ngày gia nhập
    03 2009
    Nơi ở
    Ở địa ngục
    Bài viết
    667

    Đây là bạn so sánh 2 số xác định.
    bạn thử so sánh 0.2-0.1 và 0.3-0.2 xem 2 kết quả có khác nhau không.
    Chỉ so sánh bằng và khác nhau thôi nhé.

  10. #10
    Ngày gia nhập
    03 2009
    Bài viết
    36

    sao? so sánh hai số đó vẫn được mà
    Hãy bước đi trên chính đôi chân của... người khác!

Các đề tài tương tự

  1. hàm bắt buộc nhập số, nếu là số thì return 1, còn ký tự thì return 0;
    Gửi bởi khacphuctran trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 11-03-2011, 04:39 PM
  2. hiểu về ref và return trong lập trình C# như thế nào
    Gửi bởi bubu333 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 26-10-2010, 03:10 PM
  3. Khi nào cần return 0, return 1 trong int main()
    Gửi bởi jojocolumbus trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 22-06-2010, 10:23 AM
  4. Thắc mắc về Return?
    Gửi bởi Ajmjne trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 22-02-2010, 11:59 AM
  5. thắc mắc về lệnh return
    Gửi bởi hugnphung123 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 14-04-2008, 11:20 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn