| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:调试输出结果错误
只看楼主 加入收藏
zhy0401052
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2009-7-19
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:6 
调试输出结果错误
#include<stdio.h>
main()
{char str1[20], str2[]={"ni hao"};
strcpy(str1,str2,2);
printf("%S,%s",str1,str2);}
调试的时候输出结果是,ni hao而不是ni,ni hao
搜索更多相关主题的帖子: 输出 调试 结果 
2009-07-20 20:12
zhy0401052
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2009-7-19
收藏
得分:0 
哪位兄弟帮我看下为什么是这样的,谢谢了!
2009-07-20 20:18
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:10 
回复 楼主 zhy0401052
您所调用的函数应该为 strncpy。下面帮你把程序修改了一下,现已能达到您的要求。
程序代码:
#include<stdio.h>
#include<string.h>
main()
{
    char str1[20], str2[] = { "ni hao" };
    strncpy(str1, str2, 2);
    str1[3]='\0';
    printf("%s,%s", str1, str2);
}
2009-07-20 20:20
zhy0401052
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2009-7-19
收藏
得分:0 
我改过又调试了,还是那个结果呀
2009-07-20 20:24
zhy0401052
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2009-7-19
收藏
得分:0 
哦,可以了,谢谢呀,可我不清楚为什么要加 str1[3]='\0';这句呢?
2009-07-20 20:27
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:10 
回复 4楼 zhy0401052
字符串结束标记。
2009-07-20 20:27
zhy0401052
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2009-7-19
收藏
得分:0 
哦,是,谢谢了
2009-07-20 20:29
快速回复:调试输出结果错误
数据加载中...
 
   



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

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