70,037
社区成员
发帖
与我相关
我的任务
分享
/*本题要求编写一个解密藏头诗的程序。
输入格式:
输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。
输出格式:
取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。
输入样例:
一叶轻舟向东流
帆稍轻握杨柳手
风纤碧波微起舞
顺水任从雅客流
输出样例:
一帆风顺*/
#include<stdio.h>
#include<stdlib.h>
void input(char *str[]);
void output(char *p);
int main()
{
char *str[4];
/*返回指针地址类型的malloc函数的接收方法:
为指针地址类型变量接收*/
input(str);
char p[20];
int i;
for( i=0;i<4;i++)
{
p[i*2]=*(*(str+i)+0);
p[i*2+1]=*(*(str+i)+1);
}
p[i*2]='\0';
output(p);
}
void input(char *str[])
{
for(int i=0;i<4;i++)
{
str[i]=(char *)malloc(sizeof(char)*15);
scanf("%s",&str[i]);
}
}
void output(char *p)
{
printf("%s",p);
}
是不是在内存分配上出了问题,
还是在地址上指向出现了问题。
这是改了之后的结果
不好意思啊