Je répond
uniquement aux exercices qui traitent de la programmation
!
De toute manière, les exercices 1 et 2 sont
très facile ;-)
Ex3:
#include <stdio.h>
void toto(int v1,int *v2);
void tuta(int v1,int *v2,int *v3);
void main(void){
int x=10,y=20,z=30;
printf("x=%d y=%d z=%d\n",x,y,z);
tuta(x,&y,&z);
printf("x=%d y=%d z=%d\n",x,y,z);
tuta(x,&y,&z);
printf("x=%d y=%d z=%d\n",x,y,z);
/* ©2002
All Rights Reserved to http://www.Software-DS.com 01/02/02
*/
}
void toto(int v1,int *v2){
*v2=3*(*v2)+v1;
}
void tuta(int v1,int *v2,int *v3){
toto(*v2,v3);
*v2=v1+(*v3);
}
Affichage:
x=10 y=20 z=30
x=10 y=120 z=110
x=10 y=460 z=450
Ex4:
#include <stdio.h>
void main(void){
int a,b,s;
printf("\n Donner deux entiers :");
scanf("%d %d",&a,&b);
s=a+b;
if (a>b) {
int s;
b+=a;
a=b-a;
s=a+b;
}
b-=a;
printf("\n a=%d b=%d s=%d",a,b,s);
/* ©2002
All Rights Reserved to http://www.Software-DS.com
01/02/02 */
}
Affichage1:
Donner deux entiers :2 7
a=2 b=5 s=9
Affichage2:
Donner deux entiers :5 3
a=3 b=5 s=8
Ex5:
#include <stdio.h>
void g(int i,int *j){
*j=i+3;
}//
mémorise a l'adresse j la valeur de i+3
void f(int *i,int j){
*i=j+1;
g(*i,&j);
j=*i+2;
}//
mémorise a l'adresse i la valeur de j+1
// les modifications de j ne sont pas garder a la sortie de
la fonction.
// donc l'appel de la fonction g ne sert a rien !
// de meme la ligne: j=*i+2; ne sert a rien !
main(){
int a,b;
a=1;
b=2;
f(&a,b);
printf("\n a=%d b=%d",a,b); //
a=3 b=2
/* ©2002
All Rights Reserved to http://www.Software-DS.com
01/02/02 */
}
|