class="markdown_views prism-atom-one-light">
题一:使用C语言实现字符串倒序。
题二,使用scanf()和gets()输入字符串有何利弊?
题三,for语句与while语句在实现循环时,哪一个更好?
题一参考答案:
#include
#include
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嵌套的时候,看起来比较繁琐。