PDA

ดูเวอร์ชั่นเต็ม : ถามเรื่อง ภาษา C หน่อยครับ ? 2



reventon
19th July 2013, 00:15
สมมุติ ผมพิมพ์ 5
{
int x;
scanf("%d",&x); <<<< 5
x--;
printf("%d",x); <<<< 4
}

{
printf("%d",x); <<<< จะทำยังไงให้ตัวนี้เป็น x ตัวแรกสุดได้ไหมครับ (ให้มันโชว 5 อ่ะครับ)
}

ขอบคุณครับ

่jamornz
19th July 2013, 00:28
สร้างตัวแปลมาอีก 1 ตัวครับ สร้าง int y มาก็ได้ แล้วให้ y=x; ก่อน x--; ครับ แล้วตอนปริ้นก็ใส่ y เพิ่มเข้าไปครับ

zerosistem
19th July 2013, 00:48
ถ้าจะใช้ X ตัวเดียวจริงๆนะ

int x;
scanf("%d",&x);
x--;
printf("%d \n",x);



printf("%d \n",++x);

ใส่เป็น ++x ก็ได้
แต่จะปลอดภัยกว่าถ้าตั้งตัวแปรเพิ่มมาเก็บค่า input แยกไว้ต่างหาก

jimaria
19th July 2013, 15:05
เขาคุยอะไรกันนะ

Season
19th July 2013, 15:21
กูตึ๊บเลยว่ะ

kan506506
19th July 2013, 15:26
เหอะ เหอะ ใช้เป็นแต่ If กับ eles %d มันอะไร ?

Spermz
19th July 2013, 15:54
เหอะ เหอะ ใช้เป็นแต่ If กับ eles %d มันอะไร ?

%d คือค่าของตัวแปรที่ scanf จะอยู่ในรูปของจำนวนจริงครับ
ถ้าเป็น printf ก็จะแสดงค่าของตัวแปลออกมาในรูปของจำนวนจริงครับ



เขาคุยอะไรกันนะ

ผมก็ไม่รู้เหมือนกัน 555

patter008
19th July 2013, 16:49
คล้ายๆผมนะ แต่ตอนนี้ เรียน JAVA ตึ้บ เลยหว่ะ =="

Artificial
19th July 2013, 17:57
คือการใช้ "x--;" ตัวเดียวโดดๆเลย มันจะ assign ค่าใหม่อยู่แล้วน่ะครับ พอ printf ออกมามันก็เป็น value ล่าสุด
แต่ถ้า เอา "x--","--x" ไปเป็น parameter ใน function printf หรือไปใส่ใน for loop for(;;var++) หรือในส่วนการ declare primitive data type
มันจะ increase decrease ตาม prefix suffix ที่คุณกำหนดมานะครับ

ตัวอย่าง เช่น
int x;
scanf("%d",&x); // input : 5
printf("%d",x--); // output : 5 ก็จะ print ก่อนแล้ว decrease
// var x = 4

-----------------------
อีกตัวอย่างนะครับ

int B=3;
int A=++B;
// A มีค่า 4 B มีค่า 3

int B=3;
int A=B++;
// A มีค่า 3 B มีค่า 4

: http://www.cplusplus.com/doc/tutorial/operators/

maruchik0
19th July 2013, 18:11
มาดูเหมือนอยู่คนล่ะโลกกับเขาเลย

เขาต้องเรียกว่า ภาษาเทพ C++ 555:girlhaha

Spermz
19th July 2013, 20:30
มาดูเหมือนอยู่คนล่ะโลกกับเขาเลย

เขาต้องเรียกว่า ภาษาเทพ C++ 555:girlhaha

อันนี้ภาษา C ครับ C++ จะเขียนอีกแบบนึง :)

Natthawatgamer
19th July 2013, 20:36
มันคือ ???

อยากรู้เรื่องกะเค้ามั่งจังงงง ภาษา C Y^Y

:sweat

คุณบอม
19th July 2013, 21:34
อันนี้ภาษา C ครับ C++ จะเขียนอีกแบบนึง :)
ผมเรียน c++ อยู่นะ ทำไมผมรู้สึกว่ามันเหมือนกัน =.=

Rchanglyl
19th July 2013, 21:38
ไม่รู้ว่า ภาษา C มันใส่ loop for ได้รึป่าวนะ ถ้าใส่ได้ ก็ใส่เลย ได้ 5 แล้วก็ 4 ด้วย


คล้ายๆผมนะ แต่ตอนนี้ เรียน JAVA ตึ้บ เลยหว่ะ =="

จาวาผมว่าง่ายนะครับ

Rchanglyl
19th July 2013, 21:39
เล็กๆน้อยๆนะครับ สำหรับคนที่เห็นว่า เอ๊ย พวกนี้มันคุยรู้เรื่องได้ไงมีแต่ข้าที่ไม่รุ้เรื่อง

ไม่ต้องห่วงนะคับ ที่เห็นทั้งหมดมันเป็นแค่พื้นฐานเฉยๆ ดูเหมือนเยอะ แต่ที่จริงมันไม่มีอะไรเลย

chinmyknw
19th July 2013, 21:46
สมมุติ ผมพิมพ์ 5
{
int x;
scanf("%d",&x); <<<< 5
x--;
printf("%d",x); <<<< 4
}

{
printf("%d",x); <<<< จะทำยังไงให้ตัวนี้เป็น x ตัวแรกสุดได้ไหมครับ (ให้มันโชว 5 อ่ะครับ)
}

ขอบคุณครับ

คิดจะทำอะไรหวา :confused:

kan506506
19th July 2013, 21:57
int x,y;
canf("%d",&x); <<<< 5
y=x;
y--;
printf("%d",y); <<<< 4

{
printf("%d",x); <<<< จะได้ x=5 และ y จะนับลงเลื่อยๆ
}

Shizuku
19th July 2013, 22:30
ตอบกันซะหมด แล้วจะเหลืออะไรให้ผมหละนี้ "oRZ

theneddube
19th July 2013, 22:54
กูตึบเลยว่ะ !!!

ICE_LEMON
19th July 2013, 22:55
จำได้แค่ );

colliinz
19th July 2013, 23:05
ไหงผมดูไม่รู้เรื่องแฮะ เขียนเป็นแต่ Java กับ C# =_=

Spermz
19th July 2013, 23:07
ผมเรียน c++ อยู่นะ ทำไมผมรู้สึกว่ามันเหมือนกัน =.=

นั่นนะสิ ทำไมผมรู้สึกว่าเหมือนได้เรียนภาษาใหม่เลย กำลังเรียน c++ เหมือนกันครับ -..-