ma 45 e 72 li vuoi prendere mentre scrivi il programma? se si perchè hai inizializzato le variabili a quei valori?
in pratica devi decidere se vuoi fare il primo o il secondo programma
- Codice:
#include <stdio.h>
int main()
{
int integer1 ;
int integer2 ;
int sum;
printf("Enter first integer\n");
scanf_s("%d", &integer1);
printf("Enter second integer\n");
scanf_s("%d", &integer2);
sum = integer1 + integer2;
printf("Sum is %d\n", sum);
return 0;
}
questo primo prende i due numeri che scrivi durante l'esecuzione e ti da la somma
- Codice:
#include<stdio.h>
int main()
{
int integer1 = 45;
int integer2 = 72;
int sum;
printf("first integer is %d\n",integer1);
printf("second integer is %d\n",integer2);
sum = integer1 + integer2;
printf("Sum is %d\n", sum);
return 0;
}
in questo caso tu stai dando i valori all'inizio e stai stampando i valori che hai scritto tu programmatore, senza dare la possibilità di inserirli manualmente(anche se penso che tu volessi fare la prima)
quello che hai scritto tu, ovvero inizializzare le variabili, si fa se tu vuoi dare un valore fisso, ad esempio voglio calcolare il doppio di un numero e posso scrivere:
int integer2 =2;
scrivo la scanf solo per integer1 e faccio il prodotto tra le due
prod = integer1 * integer2;
anche se potrei scrivere direttamente
prod = integer1 * 2;
oppure se hai un contatore che deve partire da zero ed essere incrementato, quindi devi essere sicuro di avere come valore di partenza zero, altrimenti potrebbe avere un valore casuale.
Se tu ci sovrascrivi il valore della scanf, qualsiasi valore ci fosse prima viene sovrascritto, quindi è inutile.(se io scrivo 1, quello sostituirà il valore di default da te assegnato, ovvero 45)
O meglio, se tu esegui il tuo programma e quando ti chiede il numero schiacci invio senza scrivere niente, allora sai che dentro la variabile rimarrà il valore che tu gli hai dato in partenza