[Problème][Débutant]pointeurs
Bonjour,
J'ai écrit un petit programme qui additionne 2 matrice avec des pointeurs mais à la sortie il me renvoie en plus de la bonne réponse des chiffres bizarres.
voilà le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
#include <stdio.h>
int main(){
int a[2][3]={1,2, 0, 1, 2, 2};
int b[2][3]={1,2, 1, 4, 3, 4};
int c[2][3];
int *i=&a[0][0];
int *j=&b[0][0];
int *k=&c[0][0];
while(i<&a[2][3]){
*k=*i+*j;
printf("%d\n",*k);
i++;
j++;
k++;
}
} |
et la sortie :
Citation:
arkadin@ARKADY:~/Info/Mission2$ ./ex5b.out
2
4
1
5
5
6
-1076967483
-1076967502
-1076967524
Merci d'avance,
Arkadin
[Balises code et quote mis en place par fearyourself, merci d'y penser la prochaine fois!]
[Edit]: Tout d'abord, escusez moi pour les balises. Ensuite, j'aurais une autre question à propos des char, comment donne-t-on une valeur à un carractère ? En fait, on me pose une question me demandant de comparer 2 chaines de carractères en renvoyant un nbs nulle négatif positif selon que la chaine de carractère 1 soit égale inférieur ou supérieur lexicographiquement ? j'ai essayé de chercher des infos sur ça ms j'ai rien trouvé de très pertinnent...
Re: [Problème][Débutant]pointeurs
Citation:
Envoyé par arkadin
J'ai écrit un petit programme qui additionne 2 matrice avec des pointeurs mais à la sortie il me renvoie en plus de la bonne réponse des chiffres bizarres.
et la sortie :
Citation:
arkadin@ARKADY:~/Info/Mission2$ ./ex5b.out
2
4
1
5
5
6
-1076967483
-1076967502
-1076967524
Tu vas trop loin. Revoit le cours sur l'arithmétique des pointeurs...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#include <stdio.h>
int main(void)
{
int const a[2][3] =
{
{
1, 2, 0
}
, {
1, 2, 2
}
};
int const b[2][3] =
{
{
1, 2, 1
}
, {
4, 3, 4
}
};
int c[2][3];
int const *pi = *a;
int const *pj = *b;
int *pk = *c;
while (pk < c[1] + 3)
{
*pk = *pi + *pj;
printf("%d\n", *pk);
pi++;
pj++;
pk++;
}
return 0;
} |
Citation:
comment donne-t-on une valeur à un carractère ? En fait, on me pose une question me demandant de comparer 2 chaines de carractères en renvoyant un nbs nulle négatif positif selon que la chaine de carractère 1 soit égale inférieur ou supérieur lexicographiquement ? j'ai essayé de chercher des infos sur ça ms j'ai rien trouvé de très pertinnent...
Un caractère est une valeur numérique. Par exemple en ASCII, 65 est la valeur de 'A'.
http://www.lookuptables.com/