c - String length Error -
i reading string stdin using fgets function , trying print length of string, getting length of string 1 first time here code
#incldue<stdio.h> #include<string.h> int main(void) {    printf("\n enter no of test cases");    scanf("%d",&t);    int i,j;    for(i=0;i<t;++i)    {      char song[500],val[28];      int k=0,x=0;      fgets(song,500,stdin);      int len=strlen(song);      printf("\nlen=%d",len);    }   return 0; }   i getting 1 length first test case :/ please suggest going wrong
you not clearing input buffer. after giving input value first scanf newline there. fgets not input user. newline placed in buffer in first(song[0]) position. reason strlen returns value 1.
make line before fgets.
int c; if ( == 0 )     while((c=getchar()) != '\n' && c != eof ); fgets(song,500,stdin);   or else place line after getting input scanf.
scanf("%d",&t); while((c=getchar()) != '\n' && c != eof );      
Comments
Post a Comment