από Star_Light » 10 Σεπ 2011, 22:47
migf1 έγραψε:Άλλα αντί άλλων είναι αυτή

Καταρχήν από τη στιγμή που μέσα στη συνάρτηση βάζεις το p = NULL η συνάρτηση επιστρέφει πάντα SUCCESS. Έπειτα, το p πρέπει να περνιέται ως όρισμα στη συνάρτηση

- Κώδικας: Επιλογή όλων
#include<stdio.h>
#define SUCCESS 1
#define FAIL -1
int pseudo_func(int *p);
int main(void)
{
int *p=NULL;
printf("%d",pseudo_func(p));
return 0;
}
int pseudo_func(int *p)
{
if(!p)
return SUCCESS;
else
return FAIL;
}
κοιταξε εδω σκεφτομαι το εξης.... αν ο δεικτης δεν δειχνει καπου επεστρεψε success δηλαδη if(!0) <=> 1 αρα μπαινει στο 1ο...
αμα αλλαξω και βαλω if(p) οντως μου δινει -1 δηλαδη FAIL επειδη ο δεικτης δεν υπαρχει... αλλο αν ειναι εγκυρος οπως εχουμε πει. Ναι ή οχι ?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]