c语言中定义一个字符数组,其中存放的是什么

Python08

c语言中定义一个字符数组,其中存放的是什么,第1张

在C语言中,字符数组中存放的内容中字符的ASC码。如果在定义过程中没有赋初值,则数组中的元素都为0。如

char c[10]

定义了c是一个字符数组共有10个元素c[0]、c[1]……c[9],因为没有赋初值,所以这10个元素的值都是0。

如果定义时赋了初值,或在程序中赋元素的值,则该元素保存对应字符的ASC码值。如:

char c[10]="ABCD"

则元素

a[0]=65//'A'的ASC码是65

a[1]=66//'B'的ASC码是66

a[2]=67//'C'的ASC码是67

a[3]=68//'D'的ASC码是68

在程序中,a[0]='A'和a[0]=65是等价的。

验证:

char a[10]="ABCD"

printf("%d %c\n",a[0],a[0])//输出65 A

printf("%d %c\n",a[3],a[3])//输出68 D

a[3]=65

printf("%d %c\n",a[3],a[3])//输出65 A

printf("%d",a[6])// 输出0 因为没有赋a[6]初值,所以其值为0

C语言并没有字符串这样的类型

是用字符数组存的。

于是 字符串数组 其实就是二维字符数组

比如

char s[10][100]

表示10个字符串, 每个最长100个字节。

#include<stdio.h>

void main()

{

char str[50]//字符数组

gets(str)//接受你输入的字符

puts(str)//输出字符

}