我是否正确实现了 Square 功能?
Have I implemented the Square function correctly?
我是 C 编程语言的新手,正在学习函数。我决定编写一个简单的程序来使用函数对数字进行平方。我得到了想要的输出,但是我想知道我是否正确地实现了它?
更准确地说,如何改进这段代码?
#include <stdio.h>
#include <cs50.h>
int square(int x);
int number;
int main(void)
{
printf("Which number would you like to square? ");
number = get_int();
printf("The square of %i is %i\n", number, square(number));
return 0;
}
int square(int x)
{
for (int i = 1; i <= number; i++)
{
number = x * x;
}
return number;
}
全局变量不好!坏坏坏!事实上,有些语言根本不允许它们。让我们尽可能地缩小number
的范围:
int main(void) {
printf("Which number would you like to square? ");
int number = get_int();
printf("The square of %i is %i\n", number, square(number));
return 0;
}
现在,让我们修复您的平方函数:
int square(int x) {
return x * x;
}
就像您在计算器上计算平方数一样。
您在代码中使用了全局变量 number
!这些变量即使在我们处理完它们后仍保留在内存中,这会造成很多复杂情况和不必要的内存使用
您可以像这样编写平方函数:
int square(int x) {
return x * x;
}
但是,最好编写代码以充分利用它!如果稍后您需要计算该数字的立方怎么办?所以尝试编写幂函数甚至递归尝试!
我是 C 编程语言的新手,正在学习函数。我决定编写一个简单的程序来使用函数对数字进行平方。我得到了想要的输出,但是我想知道我是否正确地实现了它?
更准确地说,如何改进这段代码?
#include <stdio.h>
#include <cs50.h>
int square(int x);
int number;
int main(void)
{
printf("Which number would you like to square? ");
number = get_int();
printf("The square of %i is %i\n", number, square(number));
return 0;
}
int square(int x)
{
for (int i = 1; i <= number; i++)
{
number = x * x;
}
return number;
}
全局变量不好!坏坏坏!事实上,有些语言根本不允许它们。让我们尽可能地缩小number
的范围:
int main(void) {
printf("Which number would you like to square? ");
int number = get_int();
printf("The square of %i is %i\n", number, square(number));
return 0;
}
现在,让我们修复您的平方函数:
int square(int x) {
return x * x;
}
就像您在计算器上计算平方数一样。
您在代码中使用了全局变量 number
!这些变量即使在我们处理完它们后仍保留在内存中,这会造成很多复杂情况和不必要的内存使用
您可以像这样编写平方函数:
int square(int x) {
return x * x;
}
但是,最好编写代码以充分利用它!如果稍后您需要计算该数字的立方怎么办?所以尝试编写幂函数甚至递归尝试!