[C] Esercizio con strutture di controllo e scanf()

di il
2 risposte

[C] Esercizio con strutture di controllo e scanf()

Buona sera a tutti.
Io sono uno studente di 16 anni che comincia a cimentarsi nel linguaggio c.
Oggi, dopo aver letto un pragrafo riguardo ai costrutti if ed else decido di provare a realizzare un piccolo programma che includesse i due costrutti appunto.
Compilo il codice con gcc e non mi da alcun problema, se non durante l'esecuzione. Infatti, dopo aver eseguito il programma e dopo che quest'ultimo stampa la prima stringa, il programma smette di funzionare. Vi lascio tutto il codice e attendo una risposta:

#include <stdio.h>

int main() {
	int a,b;
	
	printf("Inserire il primo numero: %d",a);
	scanf("%d",a);
	printf("Inserire il secondo numero: %d",b);
	scanf("%d",b);
	
	if(a>b) {
		printf("Il numero maggiore e': %d",a);
	}else{
		printf("Il numero maggiore e': %d",b);
	}
	
	return 0;
}
Inoltre, quando il programma stampa la stringa, dopo i due punti compare uno "0" e i dati che inserisco vengono stampati subito dopo a questo zero.
Vi allego in oltre alcuni screenshots dove sono visibili entrambi i problemi. Grazie in anticipo !

2 Risposte

  • Re: [C] Esercizio con strutture di controllo e scanf()

    Questa parte è sbagliata
    
       printf("Inserire il primo numero: %d",a);
       scanf("%d",a);
       printf("Inserire il secondo numero: %d",b);
       scanf("%d",b);
    
    dovrebbe essere
    
       printf("Inserire il primo numero: ");
       scanf("%d", &a);
       printf("Inserire il secondo numero: ");
       scanf("%d", &b);
       
  • Re: [C] Esercizio con strutture di controllo e scanf()

    oregon ha scritto:


    Questa parte è sbagliata
    
       printf("Inserire il primo numero: %d",a);
       scanf("%d",a);
       printf("Inserire il secondo numero: %d",b);
       scanf("%d",b);
    
    dovrebbe essere
    
       printf("Inserire il primo numero: ");
       scanf("%d", &a);
       printf("Inserire il secondo numero: ");
       scanf("%d", &b);
       
    Scusami per il ritardo nella risposta. In effetti, dopo aver corretto il codice,il programma ha funzionato correttamente! Ti ringrazio per l'aiuto
Devi accedere o registrarti per scrivere nel forum
2 risposte