Problema con Dev C

di il
2 risposte

Problema con Dev C

Sto programmando in C e sono alle prime armi, ma non capisco il perché nello scanf non posso poter più inserire più di un valore.
Cioè se lo scrivo così
scanf("%d%d%d",&x,y,z); non mi funziona e il programma di interrompe all'inserimento del secondo numero. Qualcuno può aiutarmi?

Per rendere tutto più chiaro vi riporto il codice non funzionante:
#include <stdio.h>
#include <stdlib.h>

/* trovare il massimo tra 3 numeri */

int max(int x, int y, int z); //prototipo

int main(int argc, char *argv[]) {
int x,y,z;
printf("inserire i 3 numeri:");
scanf("%d %d %d",&x,y,z);
printf("Il numero max e' %d", max(x,y,z));

return 0;
}

int max(int x, int y, int z)
{
int max= x;

if(y> max){
max = y;
}
if (z>max){
max = z;
}
return max;
}




mentre scrivendo il codice nel modo seguente funziona:

#include <stdio.h>
#include <stdlib.h>

/* trovare il massimo tra 3 numeri */

int max(int x, int y, int z); //prototipo

int main(int argc, char *argv[]) {
int x,y,z;
printf("inserire il primo num:");
scanf("%d",&x);
printf("inserire il secondo num:");
scanf("%d",&y);
printf("inserire il terzo num:");
scanf("%d",&z);
printf("Il numero max e' %d", max(x,y,z));

return 0;
}

int max(int x, int y, int z)
{
int max= x;

if(y> max){
max = y;
}
if (z>max){
max = z;
}
return max;
}

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte