gets(str); 意思是取字符串,即将你输入的字符串赋值给字符串变量str;
while(str[num]) ;意思是当str字符串中的第num个字符非零,即当不是结束符'\0'时;
num++; 意思是对num自加1;
这三句话的意思是:遍历所输入的字符串中的每一个元素;
整个程序的作用是:通过一个子函数(fan函数)判断输入的字符串中的小写字母的个数,并且返回在主函数中输出;
不知道这样解释您明白不?
gets(str) :从标准输入也就是stdin 得到一个字符串并保存在str这个字符数组中。
gets(str);和scanf("%s", str);作用相同。
while(str[num]) 这就是个循环,就是当str[num] != 0 时就循环,一旦等于0 就退出循环。在字符串中'\0'就是0,他是一个字符串的结束标志;所以这句的意思是:当字符串没结束时循环。
num++; 就是 num = num +1;
gets(str);
就是你输入一串字符串,这些字符串的值送给了str数组
while(str[num])
就是当str[num]字符对应的ASCII的值不等于0的时候(即不为空)执行循环体,遇到空值就退出循环。
num++;
这个就是相当于num=num+1,自加一,让数组str[num]对应到下一个值
第一行:输入一个字符串啊!
第二行:
第三行:用 num 表示 字符数组的下标。直到为“\0”表达式为0;循环结束啊!