In this code, its not accepting input for first string. I mean its directly asking input from second string.. why ?
Code:
# include <stdio.h>
# include <string.h>

struct reverse
{
  char str[100];
  char temp_str[100];
};

int main(void)
{
  int i,cases;
  struct reverse s[100];
 
  printf("enter strings cases");
  scanf("%d",&cases);
  for (i=0; i<cases; i++)
  { 
    printf("\ncase: %d", i+1);
    fgets(s[i].str, sizeof (s[i].str), stdin);
    printf("\n--");
  }
  
  printf("your output\n");
  for(i=0; i<cases; i++)
  { 
    printf("case:%d",i+1);
    fputs (s[i].str, stdout);
  }
}
output :
PHP Code:
enter strings cases3

case: 1
--
case: 
2e

--
case: 
3e

--your output
case:1
case:2e
case:3e