Announcement

Collapse
No announcement yet.

ภาษาc

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ภาษาc

    คือผมพิมในโปรแกรมtc3.0 ใช้วินโด้เอ็กพี
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
    char name;
    printf("what is your name");
    scanf("%s",&name);
    printf(" My name is%s",name);
    getch();
    }
    รันมันก้ไม่errorแต่ชื่อที่ผมป้อนว่าtipอะมันก็ขึ้นMy name is แล้วมันไม่ขึ้นต่อว่าtipอะครับมันขึ้นเป็นภาษาอะไรก้ไม่รู้อะคับบอกมะถูกมันไม่มีในแป้นพิมผมลองแก้เป็น%cรันดูมันก้ออกได้1ตัวปกติลองเปลื่นเป็นint %d มันก็รับค่าแล้วแสดงออกมาได้ปกติแต่ประกาศchar %s รันได้แต่ข้อความที่เราป้อนเข้าไปมันแสดงออกมาเหมือนภาษาอียิบอะบางที่ก็รันไม่ได้บอกบรรทัดcharผิดลองพิมตามหนังสือทุกอย่างcharก็ยังผิดมันติดเกี่ยวกับการรับค่าด้วยchar และ%sตลอดลบโปรแกรมแล้วลงใหม่ก็ยังไม่หายฟอแมตไดcลงวินโด้โหลดโปรแกรมลงใหม่ก็ยังเป็นเหมือนเดิมมันจะมีปัญหากับการรับค่าcharนี้ตลอดอะตัวอื่นไม่มีปัญหาช่วยที่ครับจนปัญญาปกติมันใช้ได้อยู่ๆๆก็มีปัญหาซะงัน ผมลองลบโปรแกนมตัวเก่าออกลงใหม่ก็เป็นเหมือนเดิมโหลดมาใหม่ลงวินโด้ใหม่ก็ไม่หายอะคับแล้วรูปที่3มันแจ้งคืออะไรอะคับ
    Attached Files

  • #2
    ลองเว้นวรรคตรง is %s ดูซิ

    Comment


    • #3
      ปวดหัวแทนเลย เรียนมาครับ แต่ลืมหมดแล้ว

      Comment


      • #4
        #include<stdio.h>
        #include<conio.h>
        void main()
        {
        char *name;
        printf("what is your name");
        scanf("%s",name);
        printf(" My name is%s",name);
        getch();
        }

        Comment


        • #5
          #include<stdio.h>
          #include<stdlib.h>
          #include<conio.h>
          int main()
          {
          printf("What is your name?\n");
          char* get;
          get = (char*)malloc(sizeof(char)*10);
          gets(get);
          printf("My name is %s",get);

          getch();
          return 0;
          }

          Comment


          • #6
            %s ตัวแปรที่มารับไม่ต้องใส่ & ครับ มันเป็นAddressของมันอยู่แล้ว ไม่ต้องสั่งเรียกAddressมาใหม่

            %d,%c,%f ไรทั้งหลาย ถ้าสมมุติบอก
            int a=20; scanf(%d,a); จะหมายถึงรับค่าไปเก็บในAddressช่องที่20 (ซึ่งเป็นที่ของใครก็ไม่รู้) จึงต้องเป็นscanf(%d,&a); คือ เอาไปใส่ไว้ที่ที่ตัวแปรaอยู่ ถึงจะถูกต้อง

            แต่กับarrayทั้งหลาย ไม่ว่าจะarrayของcharactor หรือเลข หรือไรก็ตาม ถ้าพูดชื่อของarrayขึ้นมาเฉยๆโดยไม่บอกว่าตัวที่เท่าไหร่ ค่าที่มันจะให้ก็คือaddressของตัวแรกครับ ดังนั้นจึงไม่ต้องใส่& ซ้ำอีก

            Comment


            • #7
              เอาแบบนี้มั๊ยครับ ง่ายกว่า
              PHP Code:
              #include<iostream>
              #include<string>
              using namespace std;
              int main()
              {
              char name[100];
              char yname[100];
              cout<<"Enter your name: ";
              cin>>name;
              strcpy(yname,name);
              cout<<yname<<endl;

              system("pause");
              return 
              0;

              Comment


              • #8
                Originally posted by AMDev View Post
                เอาแบบนี้มั๊ยครับ ง่ายกว่า
                PHP Code:
                #include<iostream>
                #include<string>
                using namespace std;
                int main()
                {
                char name[100];
                char yname[100];
                cout<<"Enter your name: ";
                cin>>name;
                strcpy(yname,name);
                cout<<yname<<endl;

                system("pause");
                return 
                0;

                เล่น C++ เลย อิอิ
                เป็นที่ตัว compile หรือเปล่า
                Last edited by pencil; 19 Feb 2008, 13:33:43.

                Comment

                Working...
                X