第十一行有问题,改成s=str1[i]-str2[i];
改为s=str1[i]-str2[i],你把赋值=写成判断==
第十一行,双等于号是比较,这里应该是赋值单等于号
%d是输出整型常量
%s是输出字符串
(我是新手小白,如果回答错了抱歉)
主要问题是第11行两个等于号,还有楼上说的%d,应该要(int)加到变量前,另外,你应该在while循环里判断两个字符串是否都没到'\0'
建议写法
从你题目来看,要判断两个字符串,不然会出现下面的问题,就是str1没结束,而str2越界访问
#include<stdio.h>
void main()
{
char str1[20],str2[20];
int i,s;
gets(str1);
gets(str2);
i=0; s=0;
while(str1[i]==str2[i] && str1[i]!='\0') i++;
if(str1[i]>str2[i])
{s=str1[i]-str2[i];
printf("%d ",s);
}
else
{ s=str2[i]-str1[i];
printf("-%d ",s);
}
}
大哥,你这个程序,s那里多打了一个等于号啊
,你自己看看。你的是对的。我刚才的错了。抱歉抱歉。我的基础也不太行了。都没学了