c语言利用循环给字符数组赋值

就是窗口打开后输入一行字符,回车后将输入的字符(不含回车)赋值给一个字符数组。。循环部分怎么编写请问。。还有。。打印的时候只能用循环一个一个打印么?不能用printf("%s",string)这样的来蛮。。?菜鸟一个,老鸟见谅~!

#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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-29
可以用puts();
下面看我写的代码

#include <stdio.h>
void main()
{
char str[123];
getchar();//吃掉回车
gets(str);//读入字符串
puts(str);//输出字符串
}
先是赋值给str然后输出,用了puts()函数。
望采纳哈!!
第2个回答  2010-10-29
#include<stdio.h>
void main()
{
char s[200];
int i,j;
for(i=0;(s[i]=getchar()) != '\n';i++);
for(j=0;j < i; j++)
printf("%c\n",s[j]);

}

c语言利用循环给字符数组赋值怎么做?
int main(){ int array[10];for(int i=0;i<10;i++) \/\/I 不能超过数组的最大长度 { a[i]=i;} return 0;} C语言循环语句:同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:(...

c语言利用循环给字符数组赋值
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') \/\/ 判断...

C语言中怎样用for循环给字符数组赋值
方法一:char a[100];for(;scanf("%c",&a[i])!=EOF;); \/\/for循环读入每个字符,包括空格符,换行符,直到文件末尾。这样整个输入都被读到一个字符串当中。方法二:char a[100][100]; int i;for(;gets(a[i++]);); \/\/for循环读入每行字符串,这样每行输入由一个字符串储存。

C语言怎么使用循环给所以的数组成员赋值同一个数。
string.h中的memset()void * memset(void * s, int ch, size_t n)s为首地址指针,ch为填充数,n为字节数 2比如填充int a[20];memset(a, 0, sizeof(int) * sizeof(a))循环就是 int a[20], i;for(i = 0; i < sizeof(a); i++)a[i] = 0;这里需要注意到是如果数组a作为...

C语言中如何一次给一个数组变量赋值
即使用scanf也可以很多方法,严谨点就是循环 for(int i=0;i<20;i++){ printf("please input A[%d]:",i);scanf("%d",&A[i]);} 要么一次输入一串字符,处理获取到的字符串(比较麻烦我就写伪代码了)。char ch[1024];printf("please input A[0] to A[19],use ';' as a delimiter...

C语言getchar()对字符数组赋值的过程是怎么呢?
getchar()按顺序从缓冲区读走一个字符,相当于清除缓冲区,每读取一次缓冲区少一个字符,例如:键盘输入数据 1 2 3 4 5 回车 输入缓冲区中数据:1 2 3 4 5 回车 点击回车后,getchar()开始从缓冲区中读取字符,一次读取一个 第一次 getchar() = '1', 缓冲区数据还有:2 3 4 5 ...

C语言中怎么字符串赋值?
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。

c语言字符数组用while循环输出字符数量的问题
while(s[n]!='\\0') {n=n+1;} ;意思是 测字符串的长度。通过寻找字符串的尾巴在哪里,就知道长度了。找法是 从 s[0]开始,s[1],s[2],... 若 s[n]=='\\0' 就是字符串尾巴了。n 就是字符串长度。 '\\0' 是 c\/c++ 里规定的 字符串结束符号。分号是语句的结束符,是...

c语言 如何把一个字符串的值赋给另一个字符串?
你用字符数组的话,用循环把每一个字符数组单元都赋给另一个字符数组单元,你这样直接用数字赋值肯定是错的

C语言字符数组赋值问题?
1、C语言里,数组就是用其首地址表示的,所以传地址就相当于传数组 2、C语言认为所有的数据都是二进制存放的,所以可以通过类型强制来任意转换,不过不会改变二进制数值。这里m%2后结果为0或1,int会自动转换为char型数据传给temp[i],不过传的仍然是值为0或1的char数据,而不是字符'0'和'1'。

相似回答