c语言给char数组赋值
① c语言getchar()对字符数组赋值的过程是怎么呢
getchar()按顺序从缓冲区读走一个字符,相当于清除缓冲区,每读取一次缓冲区少一个字符,
例如:键盘输入数据 1 2 3 4 5 回车
输入缓冲区中数据:1 2 3 4 5 回车
点击回车后,getchar()开始从缓冲区中读取字符,一次读取一个
第一次 getchar() = '1', 缓冲区数据还有:2 3 4 5
第二次 getchar() = '2', 缓冲区数据还有:3 4 5
第二次 getchar() = '3', 缓冲区数据还有:4 5
...
直到缓冲区中的数据被读取完
int i=0; //初始化
while( (a[i++]=getchar()) != '#')
的过程相当于
do
{
a[i] = getchar();
i++;
}
while(a[i-1] != '#') //这个地方懂吧
希望对你有帮助!!
② 请问C语言 char类型的指针要怎么赋值
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *source = malloc(20*sizeof(char);
printf("Please input source \n");
scanf("%s",source);//f方法三
printf("%s\n",source);
char *temp = "my input source"
sprintf(source,"%s",temp);//方法一
printf("%s\n",source);
strcpy(source,temp);//方法二
printf("%s\n",source);
return 0 ;
}
指针是无法存放字符串的,只有指针指向的那块空间才能存放字符串,所以我第一句话给它开辟了20个空间,这样就可以给指针指向的那块空间赋值了,谢谢
另外给你一个建议 char *a = NULL,*b =NULL,*c =NULL;这样的写法是不规范的,很容易出错。标准形式应该是char *a= NULL;
char *b = NULL;
char *c = NULL;
③ C语言怎样给字符数组赋值
1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。
例子:
char a[10];
char ch='a';
for( i=0;i<10;i++ )
a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p<a+10; p++ )
*p=ch++; //通过指针对数组相应元素赋
2、字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值。
例子:
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
(3)c语言给char数组赋值扩展阅读:
C语言给字符数组赋值的优点:
1、简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2、运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
④ C语言中给char类型的数组赋值,为什么只能用strcpy而不能直接用=来赋值然后好像在初始化的
是的 初始化的时候可以 char[4] s="abc";
后面赋值只能 strcpy(s, "abc");
⑤ c语言结构体中的一个char数组怎么赋值
st.name="123"; 非法,常量字符串不能直接赋值给字符数组,因为st.name 地址是确定的,不能再改了。 char name[10]="123";可以的,定义时,进行初始化字符数组。
⑥ c语言char数组赋值
sprintf(s,"他是一个%dB",i);
⑦ C语言求助:给char某个位置赋值
1,定义 char 为"aaaaaa" ——这已经错了
可以说定义 char [] a="aaaaaa"; 是字符数组
2、要改变字符数组某元素的值,直接给该元素赋值
a[1]='b';
~
~
~
~
~
~
⑧ C语言一个给char类型数组赋值问题。
输出的时候用
inti=0;
for(i=0;i<10;i++){
printf("a[%d]=%c ",i,a[i]);
}
防止缓冲区溢出可以用这样的:
fgets(a,sizeof(a),stdin);
a[strlen(a)-1]='