NIM : 192105013
Tugas pointer
Hasil kerja
Fungsi:
1. void naikkan_nilai(int *, float *);
main(){
2. int a = 3;
3. float b = 7.5f;
4. void naikkan_nilai(int *x, float *y)
3
a 2
7.5f
4
b 3
5,10
Fungsi:
1. char *nama_bulan(int n);
2. int bl;
3. char *pkar;
4. scanf("%d", &bl);
5. pkar = nama_bulan(bl);
6. char *nama_bulan(int n)
1
n
pkar
2
3
bl
4
Nama bulan
Nama bulan
bl
n
5
3. Berikan ilustrasi dan jelaskan apa yang dilakukan oleh program di bawah ini dan
tampilkan hasil eksekusinya.
Jawab
Fungsi:
1. char strA[80] = "A string to be used for demonstration";
2. char strB[80];
3. char *pA, *pB;
4. puts(strA);
5. pA = strA;
6. puts(pA);
7. pB = strB;
8. putchar('\n');
9. while(*pA != '\0') { *pB++ = *pA++; } *pB = '\0';
puts(strB);
1 80
stra
80
strb
4
pA
3
strA
5
pB
strB
4. Berikan ilustrasi dan jelaskan apa yang dilakukan oleh program di bawah ini.
Jawab
Fungsi:
1. char *my_strcpy(char *, char *);
2. char strA[80]="A string to be used for demonstration";
3. char strB[80];
4. my_strcpy(strB, strA);
5. puts(strB); }
6. char *my_strcpy(char *destination, char *source) { char *p = destination;
7. while (*source != '\0') { *p++ = *source++; } *p = '\0';
1 My strcpy
2
80
stra
3 80
5
strb
Strb,stra
5. Bandingkan fungsi my_strcpy di atas dengan fungsi my_strcpy di bawah ini. Berikan
penjelasan terhadap perbedaan proses dari kedua fungsi tersebut.
Jawab
Perbedaannya jika nomor 4 sebelum fungsi while menggunakan fungsi char berupa strA
[80] sedangkan yang nomor 5 keluarannya berupa source [i] dengan bertambah
sendirinya dan tidak menggunakan fungsi char berupa strA [80] sebelum fungsi while.
6. Buatlah sebuah program dengan mendefinisikan sebuah fungsi rotasi() yang menerima
tiga parameter berupa variabel a, b, dan c. Fungsi ini melakukan rotasi sehingga nilai a
berpindah ke b, b ke c dan nilai c ke a sekembalinya ke fungsi main().
Jawab
Fungsi:
1.int a, b, c;
2.void rotasi(int *x, int *y, int *z)
3. int wadah;
4. wadah = *z;
5.*z = *y;
6.*y = *x;
s7.*x = wadah;
A,B,C
1
4 wadah x
5 x y
3
y
z
6
wadah
7