|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#define num 128
int main()
{
int ch,i,n;
int a[num];
int b[num];
printf("请输入第一个字符串:");
for(i=0;ch!='\n';i++)
{
ch=getchar();
a[i]=ch;
}
printf("请输入第二个字符串:");
for(ch=0,i=0;ch!='\n';i++)
{
ch=getchar();
b[i]=ch;
}
printf("请输入比较的字符数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(a[i]!=b[i]) //为什么我输入字符串 girl FRIEND 和girl friend 相比较 这个程序运行出来的是32,我觉得是因为过滤掉了空格吗,为什么会过滤空格呢?
{
break;
}
}
printf("比较结果是:%d\n",a[i]-b[i]);
return 0;
}
本帖最后由 isdkz 于 2022-2-12 23:36 编辑
你这里当a[i]和b[i]不相同时,跳出循环了,此时的a[i]和b[i]分别是两个字符串第一个不相同的字符
- for(i=0;i<n;i++)
- {
- if(a[i]!=b[i])
- {
- break;
- }
- }
复制代码
然后你打印结果的地方是直接拿它们的值相减
- printf("比较结果是:%d\n",a[i]-b[i]);
复制代码
'f'的ascii码-''F'的ascii码确实是32
|
|