2017-10-19 36 views
0
#include<stdio.h> 
int main(void) 
{ 
    int a; 
    printf("enter your number\n"); 
    scanf("%d\n", a); 
    printf("your number is %d\n", a); 
} 

Donc, fondamentalement, voici le code et je ne sais pas où est mon erreur? après avoir entré le numéro. le programme cesse de fonctionnerdeuxième printf ne fonctionne pas lors de l'utilisation d'une programmation C variable

+0

'scanf ("% d \ n", &a) ;' –

+2

Retirez le '\ n' de la chaîne de format' scanf' et passez '& a' comme argument – dbush

+0

Qu'est-ce que le" & "pour? Je viens de commencer à apprendre C donc je ne connais pas très bien les bases –

Répondre

1

Vous devez passer le pointeur de a à scanf et supprimer \ n de scanf. Si vous voulez aller sur une nouvelle ligne add \ n avant votre numéro est ...

Le code devient comme

#include<stdio.h> 
int main(void) 
{ 
    int a; 
    printf("enter your number\n"); 
    scanf("%d", &a); 
    printf("\nyour number is %d\n", a); 
} 
1

La fonction scanf reçoit un pointeur vers la variable que vous voulez remplir - c'est l'adresse en mémoire. (Vous pouvez en numériser plusieurs en même temps).
Pour obtenir l'adresse d'une variable en C, utilisez l'opérateur & avant son nom.

scanf("%d", &a); // Why do you need the \n?