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

例如:定义数组a,想输入"china!",该怎样输入?每个字符之间用什么隔开?
int i;
char a[10];
for(i=0;i<10;i++)
scanf("%c ",&a[i]);

    方法一:

    char a[100];

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

    方法二:

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-08
scanf("%c",&a[i]);

如果%c还有其他符号,比如空格 那么再输入的时候也要输入相应的符号,如果你想要在屏幕直接输入单词china! 那么%c后面就不要有其他符号 如果想输入一个字母空一格 那就要在%c后面加一个空格本回答被提问者和网友采纳
第2个回答  2015-06-11
首先我们定义一个循环累加变量i,i控制数组的大小,
for(i=0;i<n;i++)
printf("%d",&a[i])
这里n是数组的大小,当然在主函数中n要明确,不能是动态数组。可以通过输入n的值,来控制数组a的大小。
如果是字符串,简单的方法,可以通过指针直接输入,例如,char *p="china!"
第3个回答  推荐于2017-09-18

假如,数组名称为buf(赋值语句中的值具体自己定):

for(int i=0;i<sizeof(buf);i++)
{
    buf[i] = '';
}

第4个回答  2020-12-26

C语言的数组概念的学习,通过for循环输出打印数组

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

c语言利用循环给字符数组赋值怎么做?
(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。C++\/C循环语句中,for语句使用频率最高,while语句其次...

c语言 for 的用法
if(s[i]==s[j]) break;中通过遍历,肯定找不到,这个循环会从j=N-1开始通过j--循环到j=-1,不满足j>=0条件而退出此for循环。此后执行if(j<0) t[k++]=s[i];此时j=-1,满足条件,t[k++]=s[i];就是将该新出现的字符s[i]赋给t[k],同时k++,准备接受下一个从未出现的字符。

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循环定义N个字符数组,每个字符数组gets一个单词,最后...
include<string.h> define N 10 int main (){char s[50][N],t[N];int i,j,k;for(i=0;i<N;i++)gets(s[i]);for(i=0;i<N-1;i++){ k=i;for(j=i+1;j<N;j++)if(strcmp(s[j],s[k])<0)k=j;strcpy(t,s[i]);strcpy(s[i],s[k]);strcpy(s[k],t);} print...

C语言怎样给字符数组赋值
1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。例子:char a[10];char ch='a';for( i=0;i<10;i++ )a[i]=ch+i ; \/\/可通过数组下标引用数组元素,完成赋值 char *p;for( p=a; p

C语言字符数组赋值问题?
for(int i=0;m>0;i++){ temp[i]=m%2+'0' \/\/这里要加上'0'm\/=2;} 然后,加上 for(int j=0;j

C语言 如何给字符指针数组赋值
以下是字符指针数组赋值的示例:char* pChar[5];char str1[] = "First";char str2[] = "Second";char str3[] = "Third";char str4[] = "Fourth";char str5[] = "Fifth";pChar[0] = str1;pChar[1] = str2;pChar[2] = str3;pChar[3] = str4;pChar[4] = str5;for ...

C语言中如何一次给一个数组变量赋值
1.引入头文件#include "stdafx.h"和#include "stdio.h"。2.定义主函数void main(){},在主函数中插入如下代码:int number[11];int i = 0;for (i=0;i<10;i++){ number[i]=i+1;} for (i=0;i<10;i++){ printf("%d ",number[i]);} 3.点击红叹号测试。

C语言怎么使用循环给所以的数组成员赋值同一个数。
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作为参数给函数调用的话,必须给出数组的大小,而不能使用sizeof(a)...

相似回答