| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:大侠进来帮帮忙啊,看这程序咋错了?
只看楼主 加入收藏
枫枫落雨
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-7-22
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:9 
大侠进来帮帮忙啊,看这程序咋错了?
#include<stdio.h>
main()
{ int i=0,j=0,k,t;
  char s1[100],s2[50];
  printf("please input string1:\n");
  scanf("%s",s1);
  printf("please input string2:\n");
  scanf("%s",s2);
  while(s1[i]!='\0')
  { i++;}k=i;
  while(s2[j]!='\0')
  { j++;}t=j;
  if(k>t)
  printf("1");
  else if(k=t)
  printf("0");
  else
  printf("-1");
}
为什么结果总是显示0啊,求教。
搜索更多相关主题的帖子: please 
2010-08-03 10:18
lml20080
Rank: 2
等 级:论坛游民
帖 子:20
专家分:96
注 册:2010-8-2
收藏
得分:1 
k=t,k==t
2010-08-03 10:58
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:1 
楼上正解,k=t这个语句成了一个复制语句,那么永远执行的是这个分支语句了。
另外建议输入字符串的时候,最好用gets,这样可以读入空格,制表符等
2010-08-03 12:24
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:1 
else if(k=t)//这句话是k==t不是k=t

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-03 13:20
mujiaha
Rank: 2
等 级:论坛游民
帖 子:37
专家分:65
注 册:2010-7-27
收藏
得分:1 
是啊  这样的问题一不小心就有了。
2010-08-03 14:57
狮子。
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:64
专家分:58
注 册:2010-8-1
收藏
得分:1 
以下是引用erikyo在2010-8-3 12:24:07的发言:

楼上正解,k=t这个语句成了一个复制语句,那么永远执行的是这个分支语句了。
另外建议输入字符串的时候,最好用gets,这样可以读入空格,制表符等
恩恩,最好用gets~

当你小有成绩,打算沾沾自喜时。不知道有多少比你强的人正在埋头奋进!
2010-08-03 15:07
蓉615
Rank: 1
等 级:新手上路
帖 子:10
专家分:1
注 册:2010-8-3
收藏
得分:1 
呵呵,因为你把else if(k=t) printf("0");的等于号写错了,应该是==,你那样写的意思是t赋值给k后,就执行了后面的
输出0,相当与是判断k=t这种语法是对的不,因为是存在这种语法的,所以当然对了,所以就输出0
2010-08-03 15:59
hai498975832
Rank: 1
等 级:新手上路
帖 子:13
专家分:1
注 册:2010-7-26
收藏
得分:1 
用printf就只能输入一个字符了吧,以前试过不知道是不是这样的,输多了后面的都没用,
括号里的判断符号应该用专门用于判断的,如:==、>=、<=、!=   这个不知道还有没有了,
2010-08-04 03:11
我是VC迷
Rank: 2
等 级:论坛游民
帖 子:11
专家分:15
注 册:2010-2-17
收藏
得分:1 
请注意  =号是赋值符号   ==才是逻辑等于   A=B运算后  A的结果是B   而A==B运算结果  如果A等于B  则为非0  否则是0   希望可以帮到你
2010-08-10 18:18
lei351530496
Rank: 2
等 级:论坛游民
帖 子:13
专家分:19
注 册:2010-8-6
收藏
得分:1 
错误很多。
1,scanf函数后面要加取地址符号 “&”
2,一个数组的初始化不是这样的,要么用  "gets(数组名)"来实现,还有就是用  "for(i=0;i<=n,i++) scanf("%d",&a[i]);"这句来实现。
还有就不指出了,以上两个错误直接造成了输出总是显示"0".
把你设计这个程序的意图告诉我,我会进一步分析。
2010-08-10 19:11
快速回复:大侠进来帮帮忙啊,看这程序咋错了?
数据加载中...
 
   



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

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