注册 登录
编程论坛 C语言论坛

输入一段文本,然后让该程序打印出来.

hffjhhh 发布于 2020-06-02 20:35, 2146 次点击
输入一段文本,然后让该程序打印出来.比如输入以下文本:
sdjhf irj jegp
djf fgfs
fjiowe dgop
但以下代码却无法实现这个功能,原因何在,应如何修改?代码如下:
程序代码:
#include"stdio.h"
char *p(char *a,int n){
    char *m;
    int i;
    i=n;
    m=fgets(a,n,stdin);
    while(a[i]!='\0'&&a[i]!=EOF){
        while(a[i]=='\n'||a[i]=='\0'){
            a[i]=',';
            i++;
        }
        if(a[i]=='\n'||a[i]=='\0')
            a[i]=',';
        i++;
    }
    a[i]='\0';
    return m;
}
int main(void){
    char b[1000];
    char *m;
    m=p(b,1000);
    puts(m);
    return 0;
}


[此贴子已经被作者于2020-6-2 21:32编辑过]

6 回复
#2
JabinZ2020-06-02 22:52
程序代码:

#include <stdio.h>
#include <string.h>

#define MAX_LENGTH 100
int main(int argc, const char * argv[]) {
    char b[MAX_LENGTH] = {};
    char m[MAX_LENGTH] = {};
    memset(b, 0, sizeof(char) * MAX_LENGTH);
    do {
        memset(m, 0, sizeof(char) * MAX_LENGTH);
        fgets(m, MAX_LENGTH, stdin);
        strcat(b, m);
    } while (m[0] != '\n');
    puts(b);
    return 0;
}


[此贴子已经被作者于2020-6-2 23:24编辑过]

#3
ditg2020-06-03 17:11
现在是定义const char *argv[]了吗?没怎么用C了……
#4
JabinZ2020-06-03 20:45
回复 3楼 ditg
那个是我编辑器自动生成的代码
#5
ditg2020-06-03 21:31
哦,谢谢告知
#6
x2777157472020-06-04 18:25
编辑器有问题么
#7
JabinZ2020-06-04 19:56
回复 6楼 x277715747
说的是 const char * argv[] 么?  这个没问题, argv是用来获取程序在启动时所带的参数的
1