devc的话,是有结果的,一按回车的话先出结果然后瞬间消失。在后面加一个函数就能保留结果查看了。
在后面加了gets(b);然后就能用devc看到结果了。
#include
int main()
{
char a[1024],b[1024],c[1024];/*定义三个字符数组a,b,c*/
int n=0;/*统计公共字符的个数*/
int i;
printf("input a:\n");
fflush(stdin);/*清空字符串*/
gets(a);
printf("input b:\n");
fflush(stdin);/*清空字符串*/
gets(b);
for(i=0;a[i]!='\0'&&b[i]!='\0';i++)
if(a[i]==b[i])
{
c[i]=a[i];/*把公共部分赋值给数组c[i]*/
n++;
}
c[i]=' ';
printf("公共部分的字符串个数是:\n");
printf("%d\n",n);
printf("公共部分的字符串:\n");
puts(c);
gets(b);
}
#include
#include
using namespace std;
int main()
{
char str1[255],str2[255],*p1,*p2, *temp;
int sum=0;
cout<<"intput two strings"<
cin>>str2;
p1=str1;
p2=str2;
while (*p1!='\0')
{
temp = p1;
if(*temp==*p2)
{
while((*temp==*p2)&&(*p2!='\0')&&(*temp!='\0'))
{
temp++;
p2++;
}
}
p1++;
if(*p2=='\0') sum=sum+1;
p2=str2;
}
cout<
}
就一个问题,新分配的内存没有初始化,所以说结果是很不确定的,“运算出来不同字母数总是会比实际数多一个”,我这里多出了很多哦~修改之后运行正常:当然了,也可以搞点专业的做法:我装逼结束了。嗯,就是这样。