大家好,又见面了,我是你们的朋友全栈君。
目录
用printf输出
用scanf输入
用gets输入
用puts输出
用printf输出
输出方法1:printf 逐个字符输出。
代码语言:javascript复制void main(void){
char c[ ] = “I am happy”;
int i;
for(i =0; i < 10; i ){
printf(“%c”, c[i]);
}
printf(“n”);
}
输出方法2:printf 将整个字符串一次输出。
代码语言:javascript复制void main(void){
char c[ ] = “I am happy”;
printf(“%s”, c); //必须得是字符数组名,c.
}
用scanf输入
如果scanf中%d是连着写的如“%d%d%d”,在输入数据时,数据之间不可以用逗号分隔,只能用空白字符(空格或tab键或者回车键)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回车)4”等。若是“%d,%d,%d”,则在输入数据时需要加“,”,如“2,3,4”。
输入方法1:scanf 逐个字符输入。
代码语言:javascript复制void main(void){
char c[10];
int i;
printf(“请输入多个字符(不多于10个):”);
for(i = 0; i < 10; i ){
scanf(“%c”, &c[i]);
}
printf(“输入的多个字符为:%s”, c);
}
输入方法2:scanf 输入一个字符串。
代码语言:javascript复制void main(void){
char c[10];
printf(“请输入多个字符(不多于10个):”);
scanf(“%s”, c);
printf(“输入的多个字符为:%s”, c);
}
scanf(“%s”, c);
//系统自动在China后面加一个’ ’结束符。
printf(“%s”, c);
//按字符数组名c找到其数组起始地址,然后逐个输出其中的字符,直到遇到’ ’为止。
为什么只输出一个anan呢?
由于系统把空格字符作为输入的字符串之间的分隔符,因此只将空格前的字符anan送到数组c中。
//数组中未被赋值的元素的值自动置’ ’。
由于把”anan”作为一个字符串处理,故在其后加‘ 。c数组状态如下:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
a | n | a | n |