Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โพสต์และพรีที่เพิ่มขึ้นของอาร์เรย์ในภาษาซี


ปัญหา

อธิบายโพสต์อาร์เรย์และแนวคิดที่เพิ่มขึ้นล่วงหน้าโดยใช้โปรแกรม C

วิธีแก้ปัญหา

ตัวดำเนินการเพิ่ม (++) -

  • ใช้สำหรับเพิ่มค่าของตัวแปร 1

  • มีตัวดำเนินการเพิ่มสองประเภท - การเพิ่มล่วงหน้าและการเพิ่มภายหลัง

  • ตัวดำเนินการส่วนเพิ่มจะถูกวางก่อนตัวถูกดำเนินการในส่วนเพิ่มล่วงหน้า และค่าจะถูกเพิ่มในครั้งแรก จากนั้นดำเนินการกับค่านั้น

eg: z = ++a; a= a+1
z=a
  • ตัวดำเนินการเพิ่มจะถูกวางไว้หลังตัวถูกดำเนินการในส่วนที่เพิ่มขึ้นภายหลัง และค่าจะเพิ่มขึ้นหลังจากดำเนินการแล้ว

eg: z = a++; z=a
a= a+1

ลองพิจารณาตัวอย่างเพื่อเข้าถึงองค์ประกอบเฉพาะในตำแหน่งหน่วยความจำโดยใช้การเพิ่มขึ้นก่อนและหลัง

ประกาศอาร์เรย์ขนาด 5 และทำการกำหนดค่าเริ่มต้นของเวลาคอมไพล์ หลังจากนั้นให้ลองกำหนดค่าที่เพิ่มขึ้นล่วงหน้าให้กับตัวแปร 'a'

a=++arr[1] // arr[1]=arr[1]+1
a=arr[1]
b=arr[1]++// b=arr[1]
arr[1]+1

ตัวอย่างที่ 1

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[1];
   b = arr[1]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

ผลลัพธ์

4--3--25

คำอธิบาย

here, a = ++arr[1]; i.e a = 3 //arr[2];
b = arr[1]++; i.e b = 3 //arr[2];
c = arr[a++]; i.e c = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted

ตัวอย่างที่ 2

ลองพิจารณาตัวอย่างอื่นเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับอาร์เรย์ก่อนและหลังการเพิ่ม

#include<stdio.h>
int main(){
   int a, b, c;
   int arr[5] = {1, 2, 3, 25, 7};
   a = ++arr[3];
   b = arr[3]++;
   c = arr[a++];
   printf("%d--%d--%d", a, b, c);
   return 0;
}

ผลลัพธ์

27--26—0