先定义三个元素个数同为21的字符数组str1、str2,之后分别用getchar()/putchar()、gets()/puts()实现输入

2020-07-16 科技 90阅读

getchar和putchar都是对字符操作的,而不是字符串,所以需要设计循环为字符串中每一个字符赋值,以下是示例代码,需要说明的一点是gets输入字符串对于字符串长度没有限制,可能导致越界溢出,不安全,建议改用fgets,另外在新的微软标准中gets函数已被gets_s函数代替,希望对你有帮助。

#include 
int main()
{
 const int count = 21;
 char str1[count];
 char str2[count];
 char ch;
 /////////////////////////////////
 printf("请str1输入字符串(getchar方式):\n");
 int i = 0;
 while ((ch=getchar())!='\n')
 {
  str1[i] = ch;
  i++;
  if (i == count-1)
  {
   str1[count - 1] = '\0';
   break;
  }
 }
 str1[i++] = '\0';
 printf("下面输出str1(putchar方式):\n");
 int j = 0;
 while (str1[j] != '\0')
 {
  putchar(str1[j]);
  j++;
 }
 /////////////////////////////////////////////////
 printf("请str1输入字符串(gets方式):\n");
 gets(str2);
 printf("下面输出str1(puts方式):\n");
 puts(str2);
 return 0;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com