用C语言编写一个接收3个参数的函数:

用C语言编写一个接收3个参数的函数:,第1张

#include<stdioh>
void IntPoint(int s, int e, int i)
{
while (s != e) {
s = i;
s++;
}
e = i;
}
void main()
{
int a[10] = {0};
IntPoint(a, a + 9, 10); // 尾指针为 a + 9 ,不是 a + 10
for (int i=0; i<10; i++) {
printf("%d ",a[i]);
}
}

scanf将接收到的回车扔回到缓冲区,gets将接收到的回车符号转变为\0存入str,使用gets不检查字符串是否超出大小,存在安全问题,建议用fgets
#include <stdioh>
#include <stringh>
int main(void){
char str1[10]="aaaaaaaaa",str2[10]="bbbbbbbbb";
scanf("%s",str1);
// getchar();
gets(str2);
return 0;
}
这里面的getchar()就是为了接收扔回到缓冲区的回车,否则,str2只能接收到一个回车符。
5 scanf("%s",str1);
(gdb) s
abcdef
(gdb) p str1
$1 = "abcdef\000aa"
(gdb) p str2
$2 = "\000bbbbbbbb"

C语言不能返回字符串,你只能给函数一个字符数组的参数,用参数来返回
void foo(char str,int n)
{
str[0] = 'a';
str[1] = 'b';
str[2] = 'c';
}
int main()
{
char c[255] = {'\0'};
foo(c,255);
printf("%s\n",c);
}
函数参数里的n是用于判断这个字符串长度,以防越界 *** 作

直接写void类型就行了。
void fun (void arr[],int arrlen)//调用的时候需要的话进行相关的强制类型转换。C的话就是这样
{
//写具体的需求
}
如果是C++的话,一般都用模板了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13317101.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-31
下一篇2025-08-31

发表评论

登录后才能评论

评论列表(0条)

    保存