Bonjour,

j'ai un petit soucis avec la fonction strcmp qui me lance un "Bus error"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#include <stdio.h> 
#include <string.h>
 
int main(void)
{
  puts("Running");
 
  char* s;
 
  while(1) {
    puts("mydevice> ");
    fgets(s, 10, stdin);
 
    if ( strcmp(s,"IDN")==0 ) {
      puts("*IDN? identification \r\n");
    } else {
      puts("Error ! this firmware doesn't understand this command\r\n");
    }
  }
 
  puts("Stopping\r\n"); /* it should never happen */
 
  return 0;
}
Avez-vous une idée d'où peut venir mon problème (ça fait un petit moment que je tourne autour sans le voir... ?


tant que j'y suis
je compile avec gcc avec les flags -ansi -pedantic -Wall
et j'ai le warning suivant à la compilation :
warning: ISO C90 forbids mixed declarations and code
c'est à cause de char* s; mais je ne vois pas en quoi je mélange
code et déclaration...

... pour cette deuxième partie j'ai vu... il suffit que je place ma déclaration avant la fonction main


Merci d'avance