| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1052 人关注过本帖
标题:为啥不能运行
只看楼主 加入收藏
DJY774692667
Rank: 1
等 级:新手上路
帖 子:21
专家分:7
注 册:2015-7-14
结帖率:90%
收藏
已结贴  问题点数:8 回复次数:4 
为啥不能运行
int sf(char *s1, char *s2)
{ while(*s1==*s2){
  if(*s1==0)return 0;/*比较两个字符数组的大小*/
s1++;,
s2++;   }
return (*s-*t);
#include<stdio.h>
int main()
int sf(char *s1,char *s2);
char *s1,*s2;
scanf("%s\n%s",s1,s2);
sf(s1,s2);
}
2015-12-15 19:35
z450558237
Rank: 2
等 级:论坛游民
帖 子:48
专家分:11
注 册:2014-10-21
收藏
得分:4 
*s1==0,这个不是应该是*s1=='\0'么
*s-*t   突然出现2个没定义的字符
缩进对齐也没做好

[此贴子已经被作者于2015-12-15 20:21编辑过]

2015-12-15 20:17
kehanping
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:88
注 册:2015-12-10
收藏
得分:4 
int sf(char *s1, char *s2)
{ while(*s1==*s2){
  if(*s1=='\0')return 0;/*比较两个字符数组的大小*/
  s1++;
  s2++;   }
return (*s1-*s2);
}
#include<stdio.h>
int main(void)
{int sf(char *s1,char *s2);
char *s1,*s2;
scanf("%s\n%s",s1,s2);
sf(s1,s2);
return(0);
}
这样写,编译应该能通过,但是感觉思路有些问题,因为存在两个字符串相等的情况,你这个程序里面如果s1<=s2,得到的是0
2015-12-15 21:55
kehanping
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:88
注 册:2015-12-10
收藏
得分:0 
应该说s1如果是s2的前面一部分,你得到的是0,其他情况下是小于得到负数,大于得到正数。
2015-12-15 21:57
kehanping
Rank: 2
等 级:论坛游民
威 望:1
帖 子:25
专家分:88
注 册:2015-12-10
收藏
得分:0 
#include<stdio.h>
void sf(char *s1, char *s2)
{ while(*s1==*s2){
  if(*s1=='\0')printf("0");/*比较两个字符数组的大小*/
  s1++;
  s2++;   }
printf("%d",*s1-*s2);
}

int main(void)
{int sf(char *s1,char *s2);
char *s1,*s2;
scanf("%s\n%s",s1,s2);
sf(s1,s2);
return(0);
2015-12-15 21:59
快速回复:为啥不能运行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved