Selasa, 14 April 2015

C and C++ exploration [DO AND DONT!]


DO AND DONT IN C++
 source



1. DONT DO GETS!
#include <stdio.h>

int main()
{
    char  b1[] = "ABCD";
    char  b2[] = "LMNO";
    char  b3[] = "ZYXW";
    
    puts(b1);
    puts(b2);
    puts(b3);
    putchar('\n');
    
    puts("Enter some characters:");
    gets(b2);

    putchar('\n');
    puts(b1);
    puts(b2);
    puts(b3);
    
    return(0);
}


untuk penjelasan puts adalah fungsi untuk write text ke console similiar dengan cout << char* << endl

saat diinputkan 

1234

Maka hasilnya masih ok

ABCDE
1234
ZYXWV

char array dengan size 4 masih diterima,

tapi kalau diinputkan 

1234567890

maka hasilnya KACAU

90
1234567890
ZYXWV

OLEH KARENA ITU JANGAN PAKE GETS() MEMORY MANAGEMENT NYA JELEK!




Tidak ada komentar:

Posting Komentar