Code Bye

请写出函数mygets和myputs,其功能分别与gets和puts相同,函数中用getchar和putcha

这是二级C(2013年版的一道题目),在网上没找到合适的代码,本人写的代码又出现了问题。
首先本人写的代码,只能说意思达到了,而且编译通过了,但是出现的第一个情况就是以前出现过没解决掉的情况。就是貌似每次用getchar写在外函数里面的时候,在主函数引用的时候出现无限输入的情况。理应按回车键会终止输出的。求高手帮忙解决当前问题,和这道题目的正解,谢谢!
#include <stdio.h>
void mygets(char str[]){
	char ch;
	int i = 0;
	while((ch = getchar()) != "\0"){
		str[i] = ch;
		i++;
	}
}
void myputs(char str[]){
	int i = 0;
	char ch;
	for(;;){
		ch = str[i];
		i++;
		putchar( ch );
	}
}
int main(){
	char str[5];
	mygets( str );
	myputs( str );
	return 0;
}
解决方案

20

# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>
#include <iostream>
void mygets(char str[]){
	char ch;
	int i = 0;
	while((ch = getchar()) != "\n"){
		str[i] = ch;
		i++;
	}
	str[i] = "\n";
}
void myputs(char str[]){
	int i = 0;
	char ch;
	for(;;){
		ch = str[i];
		if(ch == "\n")
			break;
		i++;
		putchar( ch );
	}
}
int main(){
	char str[5];
	printf("Input less than 5\n");
	mygets( str );
	myputs( str );
	return 0;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请写出函数mygets和myputs,其功能分别与gets和puts相同,函数中用getchar和putcha