C语言字符数组基础问题

# include <stdio.h>
____①____

main ( )
{
char ch = 'a' , str [50] ;
int num , i , flag = 1 ;
gets ( str ) ;
num = ____②____;
for ( i = 0 ; i < num ; i ++)
if ( ____③____)
{
flag = 0 ;
break ;
}
if ( flag ==1 )
printf ( "%d" , -1 ) ;
else
____④____;
}

【填空题】

下面程序的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则输出该字符在数组中第一次出现的位置(下标值),否则输出-1。

#include <stdio.h>
#include <string.h>

 void main()
{
	char ch = 'a', str[50];
	int num, i, flag = 1;
	gets_s(str);
	num = strlen(str);
	for (i = 0; i < num; i++)
		if (ch == str[i])
		{
		flag = 0;
		break;
		}
	if (flag == 1)
		printf("%d", -1);
	else
		printf("%d", i);
	
}

1)strlen(str);

2))str[i]==ch;

3)printf("%d",i);