您的位置:

c语言用循环把字符存入数组,c语言如何把字符串保存到数组

本文目录一览:

C语言中怎样用for循环给字符数组赋值

方法一:

char a[100];

for(;scanf("%c",a[i])!=EOF;); //for循环读入每个字符,包括空格符,换行符,直到文件末尾。这样整个输入都被读到一个字符串当中。

方法二:

char a[100][100];   int i;

for(;gets(a[i++]);); //for循环读入每行字符串,这样每行输入由一个字符串储存。

C语言:循环执行让用户输入一串字符串,如123456789,然后保存在一个数组里面,如果输入字符串

#includestdio.h

#includestring.h

void stmun(char s[])

{

    char c[4] = {'\0'};

    int ch = '\0';

    int i, j;

    i = j = 0;

    for(i=0; (ch=getchar())strcmp(c, "end"); i++)

    {

        s[i] = c[i3 ? 3 : i] = ch;

        for(j=0; i2j3; j++)

        {

            c[j] =c[j+1];

            if(j==2)

                c[j+1] = '\0';

        }

    }

    s[i-3] = '\0';

}

int main(void)

{

     char s[1000];

    stmun(s);

    printf("%s", s);

    return 0;

}

c语言循环里把字符塞入字符串数组?

在主函数开始定义数组,可以定义到最大,接着就要给数组进行清楚,不清楚就会有很多乱码,这是都会的关键,buf[100]=Null

关于你说的输出,也是要用循环一个一个存的,我想应该是你的i产量不是每个都要输出,判断合适才输出,然后再用i产量赋值给数组,导致中途判断不需要的位置乱码,这是个要多增加一个产量j,j=0在循环中,当每次判断Ok,就给j加1,把出来的c赋值给buf[j]不要给i,这样就一个乱码都没了,

后面的是猜的,没看到你的代码,不过99%m应该是这个问题,听你的描述

c语言利用循环给字符数组赋值怎么做?

#include

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

int

main()

{

char

cstr[256];

scanf("%s",

cstr);

printf("%s\n",

cstr);

return

0;

}

c语言中怎么用while循环向数组中写入数字

需要一个输入数字为结束标志

这里的a代表数组名

比如

while(a[i]!=-1)

{

scanf("%d",a+i);

i++;

}

这里的-1为结束标志 而且i=数组长度

或者判断数组下标作为结束标志

比如 数组长度为10

while(i10)

{

scanf("%d",a+i);

if(i=10)

break;

i++;

}

祝学习进步!