指针与字符串的问题
#include <stdio.h>#include <string.h>
char app(char *a,char *b,int n)
{
int i,j,flag = 0;
for(i = 0; i < n; i++)
{
if(flag = 0)
{
for(j = 0; j < n; j++)
{
if(*(a+i) == *(b+j))
{
flag = 0;
}
else flag = 1;
}
}
else
return 1;
}
}
int main()
{
char a1,b1;
char *a = a1,*b = b1;
printf("请输入第一串字符:");
scanf("%s",a);
printf("请输入第二串字符:");
scanf("%s",b);
app(a,b,strlen(a));
if(app(a,b,strlen(a)) == 0)
{
printf("可以重排得到");
}
else if (app(a,b,strlen(a)) == 1)
{
printf("不能重排得到");
}
return 0;
}
题目如下:
写一个函数(自定义),它判断一个字符串是否可以通过另一个字符串重排得到。
我输出的结果不管怎么输都是不能得到{:10_250:} 改了好几次,要么又是每一次都是可以得到。。。{:10_250:} ,我觉得是不是函数哪里出了问题。。求解释。 判断逻辑不对,你要弄清楚重排是指的什么,用语言描述准确,再用代码实现 BngThea 发表于 2017-12-11 18:28
判断逻辑不对,你要弄清楚重排是指的什么,用语言描述准确,再用代码实现
就是两字符串中所含的单个字符都相同吧。 AppleBJTU 发表于 2017-12-11 18:44
就是两字符串中所含的单个字符都相同吧。
god和good? BngThea 发表于 2017-12-11 18:58
god和good?
..那请问应该怎么改啊 AppleBJTU 发表于 2017-12-11 21:21
..那请问应该怎么改啊
先判断长度是否一致
页:
[1]