运行后进入死循环状态。。哪里出问题了,求助
本帖最后由 花開丶若相惜ソ 于 2018-5-10 14:23 编辑以下程序的功能是:利用递归函数调用方式,将从键盘输入的5个字符,以相反顺序写入新建文件“data.dat”中,然后从文件中读出数据并显示在屏幕.
#include "stdio.h"
#include "stdlib.h"
main() {
int i = 5;
FILE *fp;
void palin(int n, FILE * fp);
if((fp = fopen("data.dat", "w")) == NULL) {
printf("error");
exit(0);
}
palin(i, fp);
rewind(fp);
while(!feof(fp)) {
putchar(fgetc(fp));
}
fclose(fp);
}
void palin(int n, FILE *fp) {
char next;
if(n <= 1) {
next = getchar();
fputc(next, fp);
} else {
next = getchar();
palin(n - 1, fp);
fputc(next, fp);
}
} 这代码格式太糟糕了
…………………… 人造人 发表于 2018-5-10 12:17
这代码格式太糟糕了
#include "stdio.h"
#include "stdlib.h"
main() {
int i = 5;
FILE *fp;
void palin(int n, FILE * fp);
if((fp = fopen("data.dat", "w")) == NULL) {
printf("error");
exit(0);
}
palin(i, fp);
rewind(fp);
while(!feof(fp)) {
putchar(fgetc(fp));
}
fclose(fp);
}
void palin(int n, FILE *fp) {
char next;
if(n <= 1) {
next = getchar();
fputc(next, fp);
} else {
next = getchar();
palin(n - 1, fp);
fputc(next, fp);
}
} #include "stdio.h"
#include "stdlib.h"
int main(void) {
int i = 5;
FILE *fp;
void palin(int n, FILE * fp);
//if((fp = fopen("data.dat", "w")) == NULL) {
if((fp = fopen("data.dat", "w+")) == NULL) {
printf("error");
exit(0);
}
palin(i, fp);
rewind(fp);
while(!feof(fp)) {
putchar(fgetc(fp));
}
fclose(fp);
return 0;
}
void palin(int n, FILE *fp) {
char next;
if(n <= 1) {
next = getchar();
fputc(next, fp);
}
else {
next = getchar();
palin(n - 1, fp);
fputc(next, fp);
}
}
人造人 发表于 2018-5-10 14:50
我发现我好傻。。
页:
[1]