标题:[求助]相当奇怪的问题。亮哥。诸葛亮,快来
只看楼主
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
结帖率:83.33%
 问题点数:0 回复次数:14 
[求助]相当奇怪的问题。亮哥。诸葛亮,快来
你门运行以下下面的程序 看看有问题么 给我解释以下
不知道是我 傻 还是我机器 傻
#include "stdio.h"
char input[]="SSSWILTECH1\1\11W\1WALLMP1";
main()
{
int i;
for(i=0;input[i];i++)
if(i!=11||i!=12)
printf("字符%c在数组input[]中的位置是:%d\n",input[i],i);
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#include "stdio.h"
char input[]="SSSWILTECH1\1\11W\1WALLMP1";
main()
{
int i;
for(i=0;input[i];i++)
if(i!=11&&i!=12)
printf("字符%c在数组input[]中的位置是:%d\n",input[i],i);

}

[此贴子已经被作者于2007-2-4 21:59:34编辑过]

搜索更多相关主题的帖子: 诸葛亮 
2007-02-04 21:58
huawang99
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-1-28
得分:0 

第一个我感觉应该改为这样:
#include "stdio.h"
char input[]="SSSWILTECH1\1\11W\1WALLMP1";
main()
{
int i;
for(i=0;input[i];i++)
{
if(i==11||i==12)
{
continue;
}
printf("字符%c在数组input[]中的位置是: %d\n",input[i],i);
}
getch();
}


2007-02-05 10:51
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 

第一个:
没有什么问题

循环中当i不等于11和12时 if表达式的值是 (T || T) = T
即执行printf

而当i等于11时i不等于12,所以if表达式的值是(F || T) = T
即执行printf

当i等于12时i不等于11,所以if表达式的值是(T || F) = T
也执行printf

因此,无论i为何值,均执行printf输出位置


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-05 11:35
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
第二个同样也没有问题,计算机运行的是正确的,而你写的是错误的,因此结果有问题

#include "stdio.h"
char input[]="SSSWILTECH1\1\11W\1WALLMP1";
main()
{
int i;
for(i=0;input[i];i++)
if((i!=11)&&(i!=12)) /*注意这里,运算顺序,因此应套括号*/
printf("字符%c在数组input[]中的位置是:%d\n",input[i],i);

}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-05 11:38
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
得分:0 

\

你对程序有什么疑问


自强不息:)
2007-02-05 11:38
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
具体请看4楼的更改

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-05 16:24
wanglff
Rank: 2
等 级:新手上路
威 望:5
帖 子:375
专家分:0
注 册:2005-12-21
得分:0 

原来是个个

自强不息:)
2007-02-05 16:28
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
不是啊 。昨天我家机器不知道怎么了 。。 &&和|| 运行都不正常了。。 可能我发的程序叫你门理解错我的意思了。
着是我昨天截的图 你能解释一下么


羊肉串 葡萄干 哈密瓜!!
2007-02-05 17:13
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 
不好意思 我昨天一天没来


我感觉是你的问题 不是机器或者是编译器的问题
if(i!=11||i!=12)
这个语句是没有任何意义的语句
当i!=11时就执行if下的语句
当i==11时就满足i!=12 所以也要执行if下面的语句

再说第二个
程序跳过i==11 和 i==12时的输出
2007-02-06 10:01
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
得分:0 
以下是引用mp3aaa在2007-2-5 17:13:16的发言:
不是啊 。昨天我家机器不知道怎么了 。。 &&和|| 运行都不正常了。。 可能我发的程序叫你门理解错我的意思了。
着是我昨天截的图 你能解释一下么

可能编译器把你的程序理解为C++程序了

2007-02-06 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-119645-1-1.html




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

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