probleme de pointeur - C - Programmation
Marsh Posté le 17-01-2006 à 09:08:16
Si j'ai bonne mémoire, les tableau sont DéJà des pointeurs... 
 
enlève les "&" dans les scanf! 
 
ps: utilise les balise cpp... c'ets beaucoup plus joli et plus simple. 
Je n'ai pas de compilateur ici, mais essaie ce code-ci: 
 
Code :
  | 
Marsh Posté le 17-01-2006 à 09:10:24
 
 
cest ca :  
 
#include <stdio.h> 
char octet[8],mask[8],application; 
int i; 
 
main() 
{  
 while (mask != "0" || mask !="1" ) 
 {	printf("saisir le masque : \n" ); 
 	scanf(" &c", mask); 
 	printf("saisir l'octet : \n " ); 
 	scanf(" &c", octet); 
 	application=""; 
 
   for (i=1;i<=8;i++); 
   {  
   	if (octet[i]== mask[i])  
     { application = application && '1' ;} 
   	else 
     { application = application && '0' ;} 
 }  } 
 return 0; 
} 
 
 
ca marche pas,  
Marsh Posté le 17-01-2006 à 09:13:23
avant de vous faire insulter http://mapage.noos.fr/emdel/inputs.htm
Marsh Posté le 17-01-2006 à 09:27:22
jarrive pas ! ! ! tan pis , merci quand meme... je chercherai une autre fois
Marsh Posté le 17-01-2006 à 09:51:01
| ElDje a écrit : Si j'ai bonne mémoire, les tableau sont DéJà des pointeurs...   | 
 
 
C'est quoi alors un tableau de pointeurs ? ![]()
Marsh Posté le 17-01-2006 à 09:54:40
je crois que l'erreur est facile à corriger !!! 
les indices des tableaux commencent à 0 
donc : 
char tab[8]; 
crée un tableau dont les indices vont de 0 à 7, et non de 1 à 8
Marsh Posté le 17-01-2006 à 10:03:47
| shreck a écrit : cest ca :   
    | 
 
 
pas étonnant ... le formatage pour scanf est invalide ... 
tu prévois 8 caractères pour ton masque et ton adresse, qu'est-ce que tu comptes avoir dedans ? 
mask != "1" -> ce n'est pas comme ca qu'on compare des chaines en C (on utilise plutôt strcmp par exemple) 
ensuite, tu confonds les valeurs numériques avec les caractères (application && '1') 
 
au vu de tout ca, je te conseille vivement de te plonger dans un bon livre pour apprendre le C ...
Marsh Posté le 17-01-2006 à 10:06:14
| shreck a écrit : salut a tous, alors voila je suis en train de faire un petit programme en C (je débute)   | 
 
Enormément de fautes. Mes commentaires (-ed-). Pose des questions si tu ne comprends pas. 
   | 
Marsh Posté le 17-01-2006 à 11:40:57
| shreck a écrit : salut a tous, alors voila je suis en train de faire un petit programme en C (je débute)  
    | 
 
 
Hum... si je lis bien ton algo (c'est pas évident car il me faut interpréter tes intentions en fonctions des instructions "aléatoires" que tu as tapées) alors celui-ci implique qu'on saisisse seulement un octet de l'adresse (qui en fait quand-même 4) et que la saisie se fasse en binaire... 
 
Commence par bien lire les bouquins de C. Ensuite, pour ton exercice, intéresse-toi à l'opérateur mathématique "&" qui travaille sur chaque bit de ses opérandes => 
Ex: 6 & 5 = 110(2) & 101(2) = 100(2) = 4 
Marsh Posté le 17-01-2006 à 08:51:03
salut a tous, alors voila je suis en train de faire un petit programme en C (je débute)
le but de ce programme et dappliquer un pasque de sous réseau a une adresse
voila mon source :
#include <stdio.h>
char octet[8],mask[8],application;
int i;
main()
{
printf("saisir le masque : \n" );
scanf(" %s", &mask);
printf("saisir l'octet : \n " );
scanf(" %s", &octet);
application="";
for (i=1;i<=8;i++);
{
if (octet[i]=mask[i])
{ application = application && "1" ;}
else
{ application = application && "0" ;}
}
return 0;
}
et quand je compile, ca me fait cette erreur : " affectation transforme un pointeur en entier sans transtypage"
je comprend pas pourquoi, et les pointeurs je connais pas trop
dc si quelqu'un aurai la gentillesse de mexpliquer svp...
merci