不清楚是哪个函数啊。。这个问题是这样得,循环里面,每次得到一个字母c,用什么能把这个每次不一样的c塞入一个buf啊,一个一个塞,我只会buf[i]=c,但是出来的结果乱七八糟!另外,怎么定义这个buf[]的大小,能让我每次打印的buf都不要有i很多乱码(有时候c连起来很长)
第1个回答 2019-12-04
大小得在声明buf的时候,buf[长度]
一次一存得先声明一个int临时变量,然后在循环里循环这个临时变量
然后buf[临时变量]=c追问
一次一存得先声明一个int临时变量,然后在循环里循环这个临时变量
然后buf[临时变量]=c追问
电脑关了,还想详细问一下,首先buf()=c,这条语句没问题,那导致结果buf里面有很多乱七八糟乱码(我要的那些字母c也在里面,是因为buf长度没弄好所导致的吗)
追答可能是数组访问越界。
第2个回答 2019-12-04
#include <stdio.h>
int main()
{
char c;
char cstr[256]; // 输入字符不要超过255
int i = 0;
while(scanf("%c", &c), c!='\n') // 判断是否回车
{
cstr[i++] = c; // 不是回车都赋值给字符串数组
}
cstr[i] = '\0'; // 字符串结束符
i=0;
while(cstr[i]!='\0') // 判断字符串是否结束
{
printf("%c", cstr[i]);
}
printf("\n"); // 输入回车换行
return 0;
}
最简单的代码:
#include <stdio.h>
int main()
{
char cstr[256];
scanf("%s", cstr);
printf("%s\n", cstr);
return 0;
}追问
int main()
{
char c;
char cstr[256]; // 输入字符不要超过255
int i = 0;
while(scanf("%c", &c), c!='\n') // 判断是否回车
{
cstr[i++] = c; // 不是回车都赋值给字符串数组
}
cstr[i] = '\0'; // 字符串结束符
i=0;
while(cstr[i]!='\0') // 判断字符串是否结束
{
printf("%c", cstr[i]);
}
printf("\n"); // 输入回车换行
return 0;
}
最简单的代码:
#include <stdio.h>
int main()
{
char cstr[256];
scanf("%s", cstr);
printf("%s\n", cstr);
return 0;
}追问
大哥,我不要键盘输入的字符啊,不要scanf!在循环里,每次都有一个变化的字母,我要把我每次这个变化的字母一点一点传入一个字符串数组
本回答被网友采纳