| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:关于不同行输出语句间自动换行的问题
只看楼主 加入收藏
lbgandthesun
Rank: 2
等 级:论坛游民
帖 子:7
专家分:34
注 册:2014-9-13
收藏
 问题点数:0 回复次数:3 
关于不同行输出语句间自动换行的问题
输入
hello world
应该输出
world hello
的,可是为什么最后结果是
world
hello
自动换行了,用printf也是,要怎样解决呢?

程序代码:
#include<stdio.h>
int main()
{
    int i=0;
    static char IN[81];
    char temp;
    do
    {
        temp=getchar();
        IN[i]=temp;
        i++;
    }while(i<80 && temp!='\n');


    char *origin=IN;
    char *p=origin;
    for(;*p!='\0';p++);
    char *p2=p;
    for(;p>=origin;p--)
        {
            if(p!=origin)
            {
                    if(*p==' ')
                    {
                        p2=p+1;
                        for(;*p2!=' '&& *p2!='\0';p2++)
                        putchar(*p2);
                    }
            }
            else
            {
                    p2=p;
                    for(;*p2!=' '&& *p2!='\0';p2++)
                    putchar(*p2);
            }
        }
    return 0;
}
搜索更多相关主题的帖子: hello world 
2014-10-29 14:26
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
收藏
得分:0 
   do
    {
        temp=getchar();
        IN[i]=temp;
        i++;
    }while(i<80 && temp!='\n');

你这块有问题...最后时候tmp='\n';还执行了一次循环体!所以最后的IN[i-1]是'\n';而且后面没有'\0'
解决办法是在此循环后面 把IN[i-1]改成'\0',
加个这样一句  IN[i-1]='\0';
2014-10-29 14:51
Sv少
Rank: 3Rank: 3
来 自:山东青岛
等 级:论坛游侠
威 望:1
帖 子:53
专家分:168
注 册:2011-11-7
收藏
得分:0 
for(;*p!='\0';p++);
                        
for(;*p2!=' '&& *p2!='\0';p2++);

改成
for(;*p!='\n';p++);  

for(;*p2!=' '&& *p2!='\n';p2++);
试试
应为你的IN数组是 'hello world\n'
你这一调换就成了‘world\n hello’
你说有没有回车
(你这是字符数组啊与‘\0’有什么关系,你的p指针一定是指向in数组结尾)

Sv少  run
2014-10-29 19:52
lbgandthesun
Rank: 2
等 级:论坛游民
帖 子:7
专家分:34
注 册:2014-9-13
收藏
得分:0 
啊,原谅我平时实践的少,之前都是看教材,看完才来实际操作,所以发现各种问题。不过也好,以后就比较敏感了。
2014-10-29 23:09
快速回复:关于不同行输出语句间自动换行的问题
数据加载中...
 
   



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

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