what is the difference between of scanf (“%s",a) scanf("%s[^\n]",a) and puts(a) for Strings in c programming? : what is the difference between of scanf (“%s",&a)  scanf("%s[^\n]",a) and puts(a) in c programming?
    
    scanf("%s[^\n]",a);
    
    scanf("%s",a);

    puts(a);

what is the main difference between the three types of Character Array Input?