标题:运行时会跳出程序已停止工作,求大佬
只看楼主
南城无风
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-7-3
结帖率:100%
已结贴  问题点数:20 回复次数:3 
运行时会跳出程序已停止工作,求大佬
char str2[20] = "12345";    //已指定长度 ,20
        char str3[] = "67890";        //未指定长度 ,6
        strcat(str2,str3);
        printf("%s\n", str2);        
        printf("%s\n", sizeof(str2));        //length = 25?26????????????????
搜索更多相关主题的帖子: 运行 跳出 停止 工作 printf 
2018-07-13 09:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 

既然定义的是 char str2[20],那么 sizeof(str2) 就是 20
sizeof(str2)的类型是size_t,你为什么用%s输出?按照C标准,应该用%zu输出
2018-07-13 10:03
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:10 
#include "stdio.h"
 int main()
 {
 char str2[20] = "12345";    //已指定长度 ,20
        char str3[] = "67890";        //未指定长度 ,6
        strcat(str2,str3);
        printf("%s\n", str2);        
        printf("%d\n", sizeof(str2));
        printf("%d",strlen(str2));  
      
 }
2018-07-13 10:09
南城无风
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2018-7-3
得分:0 
回复 2楼 rjsp
不好意思,我果然是新手
2018-07-13 10:16



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




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

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