鱼C论坛

 找回密码
 立即注册
查看: 2792|回复: 6

C语言宏定义

[复制链接]
发表于 2014-8-10 17:04:02 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
#include <string.h>
#define STR(str1, str2, str3, sum) strcat(str1,strcat(str2,strcat(sum, str3)))
void main(void)
{
    char s1[]="I Love ";
    char s2[]="China ";
    char s3[]="Forever ";
    char sum[]=" ";
    STR(s1, s2, s3, sum);
    printf("%s\n",s1);
    printf("%s\n",s2);
    printf("%s\n",s3);
    printf("%s\n",sum);

}
请问我这个程序有什么问题?为什么不能运行呢?

最佳答案

查看完整内容

麻烦你以后直接贴代码,用附加图片中的方法贴代码。你的程序问题是当你字符串连接时,开辟的存储空间不够。我 改了一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-10 17:04:03 | 显示全部楼层
麻烦你以后直接贴代码,用附加图片中的方法贴代码。你的程序问题是当你字符串连接时,开辟的存储空间不够。我 改了一下。
#include <stdio.h> 
#include <string.h>
#define STR(str1, str2, str3, sum) strcat(str1,strcat(str2,strcat(sum, str3)))
 void main(void)
 {
     char s1[50]="I Love ";
     char s2[30]="China ";
     char s3[20]="Forever ";
     char sum[10]=" ";
     STR(s1, s2, s3, sum);
     printf("%s\n",s1);
     printf("%s\n",s2);
     printf("%s\n",s3);
     printf("%s\n",sum);

 }
无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-10 17:43:35 | 显示全部楼层
頂支持一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-10 19:19:44 | 显示全部楼层
楼上正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-10 20:08:59 | 显示全部楼层
同问!!!!!!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-8-11 20:46:01 | 显示全部楼层
流行语 发表于 2014-8-10 18:47
麻烦你以后直接贴代码,用附加图片中的方法贴代码。你的程序问题是当你字符串连接时,开辟的存储空间不够。 ...

顺利解决,太感谢了!支持小甲鱼老师!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-12 00:52:47 | 显示全部楼层
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-30 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表