先定义三个元素个数同为21的字符数组str1、str2,之后分别用getchar()/putchar()、gets()/puts()实现输入
先定义三个元素个数同为21的字符数组str1、str2,之后分别用getchar()/putchar()、gets()/puts()实现输入、输出功能。给我代码,不要复制...
先定义三个元素个数同为21的字符数组str1、str2,之后分别用getchar()/putchar()、gets()/puts()实现输入、输出功能。
给我代码,不要复制粘贴,这是C++,特别是getchar和putchar这一块的循环是怎么回事?求救啊 展开
给我代码,不要复制粘贴,这是C++,特别是getchar和putchar这一块的循环是怎么回事?求救啊 展开
展开全部
getchar和putchar都是对字符操作的,而不是字符串,所以需要设计循环为字符串中每一个字符赋值,以下是示例代码,需要说明的一点是gets输入字符串对于字符串长度没有限制,可能导致越界溢出,不安全,建议改用fgets,另外在新的微软标准中gets函数已被gets_s函数代替,希望对你有帮助。
#include <stdio.h>
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询