1. c语言,如何让子函数返回一个数组 不用全局变量,尽量不用指针
只能用指针,如 int* cal();返回一个数组的首地址,根据首地址,将数组的元素依次输出
2. C语言:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子
#include <stdio.h>
void main()
{
int i = 0;
int n = 0;
int out = 0; //早扒退出的宴睁旅人数
int num = 0; //报数
int a[1024] = {0}; //0表示退出圈子
printf("Input n:");
scanf("%d", &n);
for (i = 0; i <晌凳 n; i++)
{
a[i] = 1;
}
i = 0;
while (out != n-1)
{
if (a[i] == 1)
{
num++;
}
if (num == 3)
{
a[i] = 0;
num = 0;
out++;
}
i++;
if (i == n)
{
i = 0;
}
}
for (i = 0; i < n; i++)
{
if (a[i] == 1)
{
printf("最后留下的人是%d号.\n", i+1);
break;
}
}
}
3. c语言的函数体如何不用指针,将在编写函数中的一个字符组返回到主函数中去,可以做到吗
不用指针,但又想通过在函数中改变此数组中的元素的值,方法如下:
方法一、是实参与形参的对誉孝应野隐关系为:形参和实参都用数组名。
方法二、定义一颂虚厅个全局静态数组,如:static int a[10];
4. C语言,报数问题
你这代码想法有问题:消去3的倍数的数,在第一次,还可以,第二次,则不知道该如何消除了,因为,数的排列变化了(有了间隔),而且,你也没有考虑,数到最大值后,程序该怎么办?
5. c语言存字符串到一个函数,然后用主函数输出,可以不用指针嘛,各位大佬救救我
可以使用数组作为参数传递字符串,避免使用指针。坦或例如:
```c
#include <stdio.h>
void print_string(char s[]) {
printf("%s\n", s);
}
int main() {
char str[] = "hello world";
print_string(str);
return 0;
}
```
在函让乎伍数`print_string`中,参数`s`就是一个字符数组,用来存储字符串。在主函数中,将字符串"hello world"存储在数组`str`中,然后将`str`作为顷毕参数传递给`print_string`函数,最终在函数中将字符串打印出来。