-
printf("%d",&i);它应该改为 printf("%d",i);
这是变量 i 的地址。 删除地址字符是 i 的值。
希望能有所帮助。
-
修改如下**:
#include
int strcmp(char *,char *)int main()
char a[80],b[80];
int i =0;
printf("请输入任意两个字符串");
scanf("%s,%s",a,b);
i=strcmp(a,b);
printf("%d",i);
system("pause");
int strcmp(char *str1,char *str2)int i;
for (i=0; *str1+i)!='\0'&&*str2+i)!='\0';i++)
if(*(str1+i)>*str2+i))return 1;
else if(*(str1+i)<*str2+i))return -1;
elsecontinue;
if (*str1+i)=='\0'&&*str2+i)=='\0')
return 0;
else if(*(str1+i)!='\0'&&*str2+i)=='\0')
return 1;
elsereturn -1;
-
i=strcmp(&a,&b);
相反。 i=strcmp(a,b);
printf("%d",&i);
相反。 printf("%d",i);
房东对这个地址还是有点含糊不清。
我不明白。
让我们一起进步!
-
strcmp 函数用于两个字符串。
具体用法如下:
1. strcmp 函数接受两个字符串参数,并根据比较结果返回一个 int 类型的值。
2. 如果返回结果的值小于 0,则表示 str1 字符串小于 ASCII 码上的 str2 字符串。
3. 如果返回结果,则返回值。
如果大于 0,则 str2 字符串小于 str1 字符串。
4.只有当返回值为0时,两个字符串才相同。
您可以尝试输出,scanf 函数是从缓冲区读取的数据,第二个字符串的数据是空格或换行符制表符。 您可以单独读取它们,但在两者之间添加 fflush(stdin); 清除缓冲区。
这似乎是低效的,但数量是最少的。
string str = "1212324"; >>>More