2018-07-26 09:18


题一:使用C语言实现字符串倒序。

题二,使用scanf()和gets()输入字符串有何利弊?

题三,for语句与while语句在实现循环时,哪一个更好?


题一参考答案:

#include <stdio.h>
#include <string.h>
void Reverse_String(char a[])
{
int i,length; char t;
length = strlen(a);
for(i=0 ;i < length/2 ; i++)
 {
t = a[i];
a[i] = a[length-1-i];
a[length-1-i] = t;
 }
}

main()
{
char a[10];
printf("input a string:");
gets(a);
puts(a);
Reverse_String(a);
puts(a);
}



题二参考答案:

用scanf()函数输入字符串时,默认分隔符是空格、跳格(Tab)等,

因此scanf()函数不能输入含有上述字符的字符串,这是其不足之处;

与gets()相比,其优点是它可以一次输入多个字符串,而且还可以用于输入不同类型的数据,应用面较广。


用gets()函数输入时,可以输入含空格、跳格等字符的字符串,但其不足之处在于,它只能用于输入字符串,且一次只能输入一个。

题三参考答案:

相对而言,for语句更好用,尤其是循环次数确定的情况下:

for(int i = 1;i<= 10; ++i)
{
   sum += i;
}


而while语句,一般用于循环次数不确定的情况:

int i = 1;
while(i<=10)
{
  sum+=i;
}


可以这么理解,只要while语句能实现的地方,用for语句都能实现

另外,如果是多重循环,while嵌套的时候,看起来比较繁琐。


更多干货请关注微信公众号百问科技(ID: baiwenkeji)


评论