#include <stdio.h> /********found********/ char fun(char *s, char *t) { int s1 = 0, t1 = 0; char *ss, *tt; ss = s; tt = t; while (*ss) { s1++; /********found********/ (*ss)++; } while (*tt) { t1++; /********found********/ (*tt)++; } if (t1 > s1) return t; else return s; } void main() { char a[80], b[80]; gets(a); gets(b); printf("%s\n", fun(a, b)); }
时间: 2023-07-18 10:41:20 浏览: 247
这段代码的功能是接受两个字符串作为参数,并返回长度更长的那个字符串。同时,它还将每个字符串中的每个字符的ASCII码增加1。具体实现见下:
```c
#include <stdio.h>
char fun(char *s, char *t) {
int s1 = 0, t1 = 0;
char *ss, *tt;
ss = s;
tt = t;
while (*ss) {
s1++;
(*ss)++; // 将s中的每个字符的ASCII码增加1
}
while (*tt) {
t1++;
(*tt)++; // 将t中的每个字符的ASCII码增加1
}
if (t1 > s1)
return *t; // 如果t长度更长,则返回t
else
return *s; // 如果s长度更长或两者长度相等,则返回s
}
int main() {
char a[80], b[80];
gets(a);
gets(b);
printf("%c\n", fun(a, b)); // 返回的是字符,用%c输出即可
return 0;
}
```
相关问题
#include <stdio.h> /********found********/ fun(char a) { if (*a) { fun(a+1); /********found********/ printf("%c". *a); } } void main() { char s[10]; scanf("%s",s); fun(s); printf("\n"); }
这段代码的功能是将输入的字符串倒序输出。但是代码中存在两处错误:
1. 函数 fun 的返回值类型应该是 void,即无返回值。
2. printf 函数中应该使用逗号 `,` 分隔两个参数,而不是点号 `.`。
下面是修改后的代码:
```c
#include <stdio.h>
void fun(char *a) {
if (*a) {
fun(a+1);
printf("%c", *a);
}
}
void main() {
char s[10];
scanf("%s", s);
fun(s);
printf("\n");
}
```
修改以下代码“”“#include<stdio.h> #define N 5 typedef struct student{ long sno; char name[10]; float score[3]; }STU; void fun(char *filename,STU n){ FILE *fp; /**********found**********/ fp=fopen(filename,"rb"); /*********”
#include <stdio.h>
#define N 5
typedef struct student {
long sno;
char name[10];
float score[3];
} STU;
void fun(char *filename, STU n) {
FILE *fp;
fp = fopen(filename, "rb");
if (fp == NULL) {
printf("Cannot open file!\n");
return;
}
fread(&n, sizeof(STU), 1, fp);
printf("sno:%ld\nname:%s\nscore[0]:%.2f\nscore[1]:%.2f\nscore[2]:%.2f\n", n.sno, n.name, n.score[0], n.score[1], n.score[2]);
fclose(fp);
}
int main() {
STU s[N] = {
{20210001, "Tom", {89, 78, 92}},
{20210002, "Jerry", {78, 87, 91}},
{20210003, "Mickey", {90, 77, 83}},
{20210004, "Minnie", {94, 92, 90}},
{20210005, "Donald", {85, 88, 82}}
};
FILE *fp;
fp = fopen("test.dat", "wb");
if (fp == NULL) {
printf("Cannot open file!\n");
return 0;
}
fwrite(&s[2], sizeof(STU), 1, fp);
fclose(fp);
fun("test.dat", s[2]);
return 0;
}
```
阅读全文