标题:[求助]那位大虾帮我瞧瞧,我看了半天看不懂
只看楼主
fantasyop
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-2-25
 问题点数:0 回复次数:2 
[求助]那位大虾帮我瞧瞧,我看了半天看不懂

#include <stdio.h> #include <stdlib.h>

main() { char *str; char *p; str = (char *)malloc(100); p=str; while( *str++ = getchar() != '\n' ); *(str-1) = '\0'; printf("%s",p); getchar(); } 输入how are you!回车 为什么输出的却不是how are you!

[此贴子已经被作者于2005-10-19 22:42:47编辑过]

搜索更多相关主题的帖子: include 
2005-10-19 19:22
xlgoodday
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-10-14
得分:0 
*str++ = getchar() != '\n' 中!=的优先级比=高,也就是说*str++ = getchar() != '\n'等价于 *str++ = (getchar() != '\n')

2005-10-21 19:46
m_pzhang
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-9-27
得分:0 

二楼说的很对.这样该一下就可以了: #include <stdio.h> #include <stdlib.h>

main() { char *str; char *p; str = (char *)malloc(100); p=str; while( (*str++ = getchar()) != '\n' ); *(str-1) = '\0'; printf("%s",p); getchar(); }

2005-10-21 21:17



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




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

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