如题所述
以\0结束的字符数组是字符串,输出的时候可以用%s控制输出,别的基本一直,字符数组的每一个字符char类型可以看作小的整型,输入都只能逐个输入,赋值的话字符数组可以用双引号类的一段内容来复制如char a[]="hello,worle!";系统会自动在字符数组末尾添加一个‘\0',表示字符串,数值型数组只能 {12,32,21……}这样追问
赋值型数组的我还是没怎么看懂,它输出时会怎么样??
追答比如int a[5]={1,2,3,4,5};
不能直接输出,要想全部输出的话通过循环,如果你输出a的话,a是一个地址
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-01-05
C语言中字符数组与数值数组的类型不同
由于类型不同,所以输入输出时调用的函数有点差异
对于字符数组,输入时可以调用scanf函数以及gets函数,输出时可以调用printf函数以及puts函数
对于数值数组,输入时可调用scanf函数,输出时可调用printf函数
第2个回答 2012-04-27
输入时候都一样
char a[10]; 定义字符数组
int b[10], i; 定义数字数组
for (i=0, i < 10; I++)
{
scanf("%c,%d", &a[i], &b[i]); 其中%c 代表输入 字符, %d代表输入整形数字。
}
for (i=0, i < 10; I++)
{
printf("%c,%d", a[i], b[i]);与输入一样,要一一对应。
}
定义字符数组,数字字符,要分开;输入字符,数字要循环,i = 0开始循环,知道i = 9,结果就是a[0], a[1], a[2] ,a[3].......a[9], 因为数组都是从a[0] 开始,下标一次增加。
char a[10]; 定义字符数组
int b[10], i; 定义数字数组
for (i=0, i < 10; I++)
{
scanf("%c,%d", &a[i], &b[i]); 其中%c 代表输入 字符, %d代表输入整形数字。
}
for (i=0, i < 10; I++)
{
printf("%c,%d", a[i], b[i]);与输入一样,要一一对应。
}
定义字符数组,数字字符,要分开;输入字符,数字要循环,i = 0开始循环,知道i = 9,结果就是a[0], a[1], a[2] ,a[3].......a[9], 因为数组都是从a[0] 开始,下标一次增加。
第3个回答 2012-05-19
格式输出不同;
printf("%d",p);整型数组输出
printf("%s",p1);----字符数组输出
或者printf("%d,%c", p, p1);
printf("%d",p);整型数组输出
printf("%s",p1);----字符数组输出
或者printf("%d,%c", p, p1);
第4个回答 2012-04-30
getchar() or gets () putchar() or puts()