【发布时间】:2018-08-18 01:25:01
【问题描述】:
我正在使用函数在 C 中打印从 1 到 N 的数字。但问题是,变量必须在内部定义,不应该使用循环。函数是按名称调用的。简而言之,函数每次调用时都应该打印一个数字。我无法对程序进行编码,因为变量是在函数内部声明的。请告诉我是否可以这样做。
例如:打印从 1 到 5 的数字。但它只打印 '1' 5 次。
#include <stdio.h>
void main()
{
repeat_function();
repeat_function();
repeat_function();
repeat_function();
repeat_function();
return 0;
}
void repeat_function()
{
int a=1;
printf (%d,a);
a = a + 1;
}
【问题讨论】:
-
内部定义是什么意思?
-
通过引用传递变量。所以变量的作用域在不同的函数中。
-
@ClamentJohn C 中没有通过引用传递。
-
@ClamentJohn “编写可扩展的代码。期间。”完全错误。
-
你读过@ClamentJohn 的答案了吗?传递 4 或 8 个字节并没有太大的区别。最重要的是,在 64 位机器上传递单个 int 会复制 4 个字节,而传递指针将复制 8 个字节,因此在这种特殊情况下传递 int 甚至会稍微快一点
标签: c