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;
}