can anyone please help me out with this in C language for ex:
int a = scanf("%d", &a);
doesn't assign the input value to a, but instead gives zero only always.
but this works as intended:
int a;
int a = scanf("%d", &a);
can anyone please help me out with this in C language for ex:
int a = scanf("%d", &a);
doesn't assign the input value to a, but instead gives zero only always.
but this works as intended:
int a;
int a = scanf("%d", &a);
 
    
     
    
    int a;
int a = scanf("%d", &a);
Does not compile because you redefine the variable a twice in the same scope.
scanf("%d", &a) attempts to parse the characters from stdin as the representation of an int and if successful stores the value to a and returns 1, otherwise returns EOF at end of file and 0 if characters are present but do not represent an int value in decimal representation.
Here is an example:
#include <stdio.h>
int main() {
    int a, c, res;
    for (;;) {
        res = scanf("%d\n", &a);
        switch (res) {
          case 1:    printf("value input is %d\n", a);
                     break;
          case 0:    printf("input is not a number\n");
                     break;
          case EOF:  printf("end of file detected\n");
                     return 0;
        }
        // read and discard the rest of the input line
        while ((c = getchar()) != EOF && c != '\n')
            continue;
    }
}
