| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:编译没错!但运行结果怎么乱七八糟的?
只看楼主 加入收藏
lockhawk
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2008-9-17
收藏
 问题点数:0 回复次数:7 
编译没错!但运行结果怎么乱七八糟的?
#include "iostream.h"
void longs(char a[],char b[]);
int main()
{
    char m[]={"TOMATO"};
    char n[]={"studio"};
    char k[]={"shu"};
    char l[]={"shanghai univesity"};
    longs(m,n);
    longs(k,l);
    return 0;
}
void longs(char a[],char b[])
{
    int sizea=sizeof(a)/sizeof(char);
    int sizeb=sizeof(b)/sizeof(char);
    if(sizea>sizeb)
    {
        for(int i=0;i<sizea;i++)
        {
            cout<<a[i];
        }
        cout<<endl;
    }
    if(sizeb>sizea)
    {
        for(int i=0;i<sizeb;i++)
        {
            cout<<b[i];
        }
        cout<<endl;
    }
    if(sizea==sizeb)
    {
        for(int i=0;i<sizea;i++)
        {
            cout<<a[i];
        }
        cout<<" ";
        for(int j=0;j<sizeb;j++)
        {
            cout<<b[i];
        }
        cout<<endl;
    }
}

我是VC6。
搜索更多相关主题的帖子: 编译 结果 运行 
2008-10-10 12:17
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
你在函数里加一句;
cout<<sizea<<" "<<sizeb<<endl;
看一下呗....

2008-10-10 12:23
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
建议用这个.......
int sizea=strlen(a);
int sizeb=strlen(b);

2008-10-10 12:36
lockhawk
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2008-9-17
收藏
得分:0 
int sizea=strlen(a);
int sizeb=strlen(b);
是不是要加什么头文件名?我这样写的时候出现没有声明的错误:error C2065: 'strlen' : undeclared identifier

人生最大痛苦:虽然不明白你们说什么,但还是要听!
2008-10-10 12:47
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
#include<string.h>

2008-10-10 12:56
lockhawk
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2008-9-17
收藏
得分:0 
非常谢谢blueboy。
但是运行结果还是有问题。明明tamato和studio都是6个字符,但是只输出tomato。难道if(sizea==sizeb)语句无效?
我把if(sizea==sizeb)放到前面,也就是先if(sizea==sizeb)再if(sizea>sizeb) ,输出结果还是tomato……
按道理应该是tomato和studio同时输出啊

我试过cout<<sizea<<sizeb;都是6啊

人生最大痛苦:虽然不明白你们说什么,但还是要听!
2008-10-10 13:11
lockhawk
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2008-9-17
收藏
得分:0 
不好意思 已经解决。原来我把i和j弄错了…………浪费您的时间真不好意思

人生最大痛苦:虽然不明白你们说什么,但还是要听!
2008-10-10 13:13
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
int sizea=sizeof(a)/sizeof(char);
sizeof(a)  ==  sizeof(int)

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2008-10-10 19:37
快速回复:编译没错!但运行结果怎么乱七八糟的?
数据加载中...
 
   



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

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