Il codice è il seguente:
codice:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
    
    /*
    Ricevi in input da tastiera due valori e un carattere. I caratteri consentiti sono "+, -, *, /".
    Se il carattere è "+" somma i due numeri. Se è "-" sottraili. Se è "*" li moltiplica. Se è "/" dividili.
    Restituisci in output il risultato.
    */
    
    int n1;
    int n2;
    char carattere;
    float risultato;
    
    printf("Inserisci numero 1: ",n1);
    scanf("%d",&n1);
    while (n1<=0){
        printf("Numero 1 non valido. Inserisci un numero maggiore di 0: ");
        scanf("%d",&n1);
    }
    printf("Inserisci numero 2: ",n2);
    scanf("%d",&n2);
    while (n2<=0){
        printf("Numero 2 non valido. Inserisci un numero maggiore di 0: ");
        scanf("%d",&n2);
    }
    
    printf("Inserisci carattere: ");
    scanf(" %c",&carattere);

    while(carattere="+"){
        printf("Carattere non valido. Inserisci nuovo carattere: ");
        scanf(" %c",&carattere);
    }
    printf("Il carattere inserito non è '+'");
    
    system("PAUSE");
    return 0;
}
Funziona tutto tranne il ciclo while finale. Mi restituise sempre "carattere non valido" a prescindere che io inserisca come carattere "+" oppure "-"

Come mai?
Grazie in anticipo