这个程序的作用是倒叙后重新输出,但是编译后总是报错。 求指教,哪里有问题

#include<stdio.h>char dao(char in[]);main()
{     char in[]=getchar();     printf("%s",dao(char in[]));
}char dao(char in[]){     int i,j,c,max;	 char out[];     while((c=getchar())!=EOF){          for(i=0;c!='\n';++i)
               max=i;          for(j=0;j<=max;++j)
			  out[j]=in[max--];
		  out[++j]='\0';}     return out[];
}


心有法竹
浏览 105回答 1
1回答

沧海一幻觉

#include<stdio.h>char&nbsp;dao(char&nbsp;in[]);main() {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;in[]=getchar();/*--初始化有问题--*/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%s",dao(char&nbsp;in[]));/*--返回值问题--*/}char&nbsp;dao(char&nbsp;in[]){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i,j,c,max;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;out[];/*----*/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while((c=getchar())!=EOF){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;c!='\n';++i) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max=i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;j<=max;++j) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[j]=in[max--]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[++j]='\0';}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;out[];/*--不能直接返回数组--*/}#include<stdio.h>#include<string.h>#define&nbsp;MAX&nbsp;100void&nbsp;dao(char*&nbsp;in);int&nbsp;main(int&nbsp;argc&nbsp;,&nbsp;char&nbsp;*argv[]){ char&nbsp;*str&nbsp;=&nbsp;"helloworld"; dao(str); }void&nbsp;dao(char*&nbsp;in){ char&nbsp;out[MAX]; int&nbsp;i&nbsp;=&nbsp;0,j&nbsp;=&nbsp;strlen(in)&nbsp;-&nbsp;1; while&nbsp;(j&nbsp;>=&nbsp;0) out[i++]&nbsp;=&nbsp;in[j--]; out[i]&nbsp;=&nbsp;'\0'; printf("%s\n",&out); return; }
打开App,查看更多内容
随时随地看视频慕课网APP