Salut tout le monde, j'ai un nouveau problème. Si je tape :
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main(int argc,char *argv[]){
- char* str=(char *)malloc(sizeof(char)*20);
- fgets(str,20,stdin);
- int i=0;
- int n=0;
- printf("strlen : %d\n",strlen(str));
- for(;i<strlen(str);i++){
- if(*(str+i)=='(' || *(str+i)==')'){
- n++;
- }
- printf("%f\n",atoi(str+i));
- str++;
- }
- printf("str : %s\n",str);
- printf("nbpar : %d",n);
- }
|
puis dans la console :
(32+32)+(32+32)
Il me sort un peu n'imp. Genre seulement 8 valeurs (alors qu'il en faudrait strlen(str) soit le double), il va clairement pas jusqu'au bout, c'est ça qui m'embête. Par exemple j'ai par ailleurs un algo pour retrouver des parenthèses, et comme ça apelle d'autres fonctions après et que le résultat correspond pas à celui attendu mon prog bug de partout. Voilà si quelqu'un a une réponse..
Message édité par Profil supprimé le 08-01-2008 à 23:41:45