void func (char sill, int n1, int n2, char s2[1) int k, c=0; £or(k=11-1;k<=n2-1;kt+,c++)• 52[c] = silk] ; 52 [c] =* 10° } void main( )s char a [20]="ABCDEFG" , b [20] ;~ func la, 3, 5, b) in printf ( "%s" . b)的结果
时间: 2024-01-18 22:04:06 浏览: 92
该程序中存在语法错误,无法编译通过。具体来说,以下几点需要进行修改:
1. 函数声明中,参数 s2 的类型应该为 char[],而不是 char[1]。
2. 函数声明和函数定义中,参数 sill 应该是 char 类型,而不是 char[] 类型。
3. 函数定义中,for 循环语句中的第三个参数应该是 ++k,而不是 kt+。
4. 函数定义中,数组 52 的下标应该是 c,而不是 52[c]。
修改后的程序如下:
```
#include <stdio.h>
void func(char sill, int n1, int n2, char s2[], int k, int c) {
for (k = n1 - 1; k <= n2 - 1; ++k, ++c) {
s2[c] = sill;
s2[c + 1] = '\0';
}
}
int main() {
char a[20] = "ABCDEFG";
char b[20];
func('a', 3, 5, b, 0, 0);
printf("%s", b);
return 0;
}
```
运行结果为:
```
aaa
```
相关问题
int func (char s1[], int nl, int n2, char s2[]){int k,c=0; for(k = n1-1;k ≤= n2-1;k++,c++)s2[c] = s1[k]; s2[c]=’\0’;} void main(){char a[20]="ABCDEFG”,b[20]; func(a,3,5,b); printf(‘%s”,b);}
这段代码的作用是将字符串a的第3个字符到第5个字符(包括第3个和第5个字符)拷贝到字符串b中,然后在字符串b的末尾添加'\0',表示字符串结束。最后输出字符串b,结果为“CDE”。但是,这段代码存在一些问题,例如:
1. 函数func没有返回值,应该将其返回类型改为void。
2. 函数func中的n1参数没有定义,应该改为nl。
3. 函数main中printf语句中的单引号应该改为双引号。
修正后的代码如下:
```
void func(char s1[], int nl, int n2, char s2[]) {
int k, c = 0;
for (k = nl-1; k <= n2-1; k++, c++){
s2[c] = s1[k];
}
s2[c] = '\0';
}
int main() {
char a[20] = "ABCDEFG", b[20];
func(a, 3, 5, b);
printf("%s", b);
return 0;
}
```
下列程序执行后的输出结果是 void func1(int i); void func2(int i); char st[]="hello,friend!"; void func1(int i) { printf("%c",st[i]); if(i<3) { i+=2;func2(i);} } void func2(int i) { printf("%c",st[i]); if(i<3) { i+=2;func1(i);} } int main() { int i=0; func1(i); printf("\n"); return 0;}
程序的输出结果是 "hlehleol,dr!"。
程序首先调用 `func1(0)`,输出字符 'h',然后将 i 增加 2,调用 `func2(2)`。`func2` 输出字符 'l',然后将 i 增加 2,调用 `func1(4)`。`func1` 输出字符 'h',然后将 i 增加 2,调用 `func2(6)`。`func2` 输出字符 'e',然后发现 i 大于等于 3,所以不再调用 `func1`,直接返回。现在程序回到了 `func1(4)`,继续执行下面的语句,输出字符 'l',然后将 i 增加 2,调用 `func2(6)`。`func2` 输出字符 'o',然后发现 i 大于等于 3,所以不再调用 `func1`,直接返回。现在程序回到了 `func1(6)`,继续执行下面的语句,输出字符 ',',然后发现 i 大于等于 3,所以不再调用 `func2`,直接返回。程序结束前,输出一个换行符。
阅读全文