2014-07-04 4 views
-3
#include <stdio.h> 

Void swap (char*,char*); 

Int main() 
{ 

    Char *pstr[2]={  
    “Hello” 
    “good morning” 
    } 

    Swap (pstr[0],pstr[1]); 

    Printf (“%s\n%s”,pstr[0],pstr[1]); 

    Return 0; 

} 

Void swap (char *11,char*12) 
{ 

    Char *t; 

    T=11 ; 

    T1=12; 

    12=1; 

} 

Good morning Hello 

Addresses of “Hello” and “ Good morning” 

Hello Good morning 

Gello Hood morning 

Answer C 

Pourquoi ces deux chaînes ne sont-elles pas permutées? La sortie ne devrait-elle pas être Good Morning Hello? Merci.C Ambiguïté de sortie

+4

Ceci n'est pas valide C. –

+1

Formatez votre code! –

+1

La question est moche, mais ce n'est pas une dupe. Oui, il s'agit d'appel par valeur, mais ce n'est pas un livre sur la théorie de la programmation, mais un site de questions et réponses. – Arenim

Répondre

0

Parce que les éléments sont copiés. Méthode swaps deux copiés sont venus avec des arguments et les laisse tomber.