ช่วยหน่อยครับ

จงเขียนโปรแกรมสลับค่าระหว่างตัวเลข int สองชุด โดยสร้างเป็นฟังก์ชันขึ้นมาเอง ข้อกำหนดของฟังก์ชันสลับค่า ต้องส่งผ่านค่าพารามิเตอร์แบบ pass by reference และฟังก์ชันที่สร้างขึ้นไม่มีการส่งค่ากลับ

#include <stdio.h>
________ swap(____________________)  
{
  int tmp;
  tmp = x;
  ___ = ___;
  y = tmp;
}
int main()
{
  int a,b;
  printf("Enter first number  : ");
  scanf("%d",&a);
  printf("Enter second number : ");
  scanf("%d",&b);
  _________(____,____);
  printf("first = %d and second = %d\n",a,b);
  return 0;
}
โค้ดข้างบนนี้คือโจทย์ให้มาครับ แล้วข้างล่างคือที่ผมทำ ตามในเน็ตครับ แต่รันโปรแกรมไม่ได้ครับ มันติดตรงที่สร้างฟังก์ชันขึ้นมาเองครับ
[Error] expected ';', ',' or ')' before '&' token

.............................................................................................
#include <stdio.h>
void swap(int &x,int &y)
{
  int tmp;
  tmp = x;
  x = y;
  y = tmp;
}
int main()
{
  int a, b;
  printf("Enter first number  : ");
  scanf("%d",&a);
  printf("Enter second number : ");
  scanf("%d",&b);
  swap(a, b);
  printf("first = %d and second = %d\n",a,b);
  getch();
  return 0;
}
.............................................................................................
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
คุณ compile โดยใช้ c-complier ใช่มั้ยครับคือถ้าผมจำไม่ผิดใน c ไม่มี pass by reference ที่ใช้ & แบบใน c++ ตามตัวอย่างนะครับ
ต้องไปใช้ pointer แทนลองดูตามตัวอย่างนี้ที่เทียบความต่างของ c กับ c++ ดู

http://www.cplusplus.com/forum/general/47797/
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่