C语言实现藏尾词
藏头词:输入一组英文单词(不超过8个),按输入顺序将每个单词的第一个字母连起来形成一个新单词。用返回字符指针的函数实现。#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *change(char *s[],int n);
int main(void) {
int i,n;
char poem,*p;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",p);
p=poem;
}
printf("%s\n",change(p,n));
return 0;
}
char *change(char *s[],int n){
int i;
char *t = (char *)malloc(9 * sizeof(char));
for(i = 0; i < n; i++)
t[ i ] = s;
t = '\0';
return t;
}
4
although zero ship phone
请按任意键继续. . .
这是我输入的示例,但是无法输出,搞不懂问题在哪里
还有就是这句动态内存分配的代码不是很懂,懂的人可以解释一下吗,非常谢谢你的帮助char *t = (char *)malloc(9 * sizeof(char));
谢谢 4
although zero ship phone
请按任意键继续. . .
输入可以,输出不了
char *t = (char *)malloc(9 * sizeof(char));这句动态内存什么意思啊,书上看不懂{:5_104:}
有谁能帮我解答一下,万分感谢 生煎包小笼包 发表于 2018-12-13 14:37
4
although zero ship phone
请按任意键继续. . .
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *change(char s[],int n);
int main(void)
{
int i,n;
char poem;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",poem); // 输入的数据存入2维数组中
}
printf("%s\n",change(poem,n));// change 取2维数组每行第1列的字符
return 0;
}
char *change(char s[],int n)
{
int i;
char *t = (char *)malloc(9 * sizeof(char)); // 动态分配9个字符的空间,用来存取出来的字符。要求是8个,最后必须有个"\0"结束标志。所以是9
for(i = 0; i < n; i++)
{
t = s; //取2维数组每行第1列的字符 存入 t
}
t = '\0'; // 结束标志
return t;
}
ba21 发表于 2018-12-13 15:09
啊啊啊谢谢你我去研究一下看看 生煎包小笼包 发表于 2018-12-13 15:23
啊啊啊谢谢你我去研究一下看看
如果取每行数组最后一个元素该怎么改 本帖最后由 ba21 于 2018-12-13 18:41 编辑
生煎包小笼包 发表于 2018-12-13 16:01
如果取每行数组最后一个元素该怎么改
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *change(char s[],int n);
int main(void)
{
int i,n;
char poem={'\0'};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",poem); // 输入的数据存入2维数组中
}
printf("%s\n",change(poem,n));// change 取2维数组每行第1列的字符
return 0;
}
char *change(char s[],int n)
{
int i, j;
char *t = (char *)malloc(9 * sizeof(char)); // 动态分配9个字符的空间,用来存取出来的字符。要求是8个,最后必须有个"\0"结束标志。所以是9
for(i = 0; i < n; i++)
{
j = 0;
while(s!='\0') continue; // 找到最后, 这里 j 到了 '\0' 后面
t = s; //所以这里j-2 就是最后一个可用字符
}
t = '\0'; // 结束标志
return t;
}
也可, 意思一样。
j = 0;
while(s[++j]!='\0') continue;
t = s[--j]; ba21 发表于 2018-12-13 18:39
也可, 意思一样。
万分感谢{:5_110:} 生煎包小笼包 发表于 2018-12-13 21:09
万分感谢
结下贴,谢谢
页:
[1]