标题:不明白编译器中的输出结果?这个程序这样写有什么问题吗?
只看楼主
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
结帖率:90.32%
已结贴  问题点数:20 回复次数:9 
不明白编译器中的输出结果?这个程序这样写有什么问题吗?
不明白编译器中的输出结果?为何输出这个结果?这个程序这样写有什么问题吗?
#include"stdio.h"
#include"stdlib.h"
main(){
  char a[23],b[33],c[22];
  a[0]=getchar();
  b[0]=getchar();
  c[0]=getchar();
  strcat(a,b);
  strcat(a,c);
  puts(a);
  system("pause");
}
搜索更多相关主题的帖子: 编译器 system include 
2017-06-19 13:15
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
字符数组需要初始化

DO IT YOURSELF !
2017-06-19 13:37
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
得分:0 
回复 2楼 wp231957
如果不初始化,就这样写。为什么在编译器中输入how are you后只输出一个h。
2017-06-19 14:04
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
getchar 你还想得到什么呢 不就是一个字符吗

DO IT YOURSELF !
2017-06-19 14:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:7 
以下是引用b1592187525在2017-6-19 13:15:19的发言:

不明白编译器中的输出结果?为何输出这个结果?这个程序这样写有什么问题吗?
#include"stdio.h"
#include"stdlib.h"
main(){
  char a[23],b[33],c[22];
  a[0]=getchar();
  b[0]=getchar();
  c[0]=getchar();
  strcat(a,b);
  strcat(a,c);
  puts(a);
  system("pause");
}

a、b、c看似要表达字符串,没见字符串结束符'\0'。
2017-06-19 14:27
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
得分:0 
以下是引用wp231957在2017-6-19 14:05:34的发言:

getchar 你还想得到什么呢 不就是一个字符吗

strcat(a,b);
strcat(a,c);
这两行语句不是将字符o和字符w放在字符h后面吗?也就最后输出how但却没有?
2017-06-19 19:02
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:7 
回复 6楼 b1592187525
你真的知道字符、字符序列以及字符串三者间的区别吗?

[此贴子已经被作者于2017-6-19 20:36编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-19 19:30
b1592187525
Rank: 1
等 级:新手上路
帖 子:86
专家分:4
注 册:2017-2-15
得分:0 
回复 7楼 renkejun1942
字符由单个字符构成,字符串由多个字符构成的一个集合。你说的字符序列不清楚,是不是类似于数组下标。
2017-06-19 21:00
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
STRCAT拼接的是字符串
标准库里针对字符操作的函数好像不多

DO IT YOURSELF !
2017-06-19 21:07
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:0 
回复 8楼 b1592187525
字符串是以\0结尾的1个或多个字符的组合。重点是\0。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-19 22:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-478756-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.637866 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved