首页 / C语言 / C语言一个小程序的bug疑问 数组相关
C语言一个小程序的bug疑问 数组相关
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C语言一个小程序的bug疑问 数组相关,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1268字,纯文字阅读大概需要2分钟。
内容图文
![C语言一个小程序的bug疑问 数组相关](/upload/InfoBanner/zyjiaocheng/1129/c572884cb61f46beb513a6768742be2c.jpg)
程序目的:输入一个数组的元素数,然后给每个元素赋值,再给出一个值作为关键词,查出数组内是否有元素等于这个值。
代码如下:
1 #include <stdio.h> 2int main() 3{ 4int n,m,x,b; 5int array[n]; 6 7//本段代码用来获取元素个数 8do 9 { 10 printf("\n请输入数组元素的个数: "); 11 scanf("%d",&n); 12if(n<=0) 13 { 14 printf("\n请正确输入数组元素的个数!"); 15 } 16 }while(n<=0); 1718//用来给每个元素赋值19for(m=0;m<n;m++) 20 { 21do22 { 23 printf("\n请输入元素%d的值: ",m+1); 24 scanf("%d",&array[m]); 25if(array[m]<=0) 26 { 27 printf("\n请正确输入元素%d的值!",m+1); 28 } 29 }while(array[m]<=0); 30 } 3132//获取作为关键词的值33do34 { 35 printf("\n请输入你要查询的值: "); 36 scanf("%d",&x); 37if(x<=0) 38 { 39 printf("\n请正确输入你要查询的值!"); 40 } 41 }while(x<=0); 4243//进行查找44for(m=0;m<n;m++) 45 { 46if(x==array[m]) 47 { 48 printf("\n要查找的是第%d个元素.",m+1); 49 b=1; 50 } 51 } 5253//如果没有找到,输出本句54if(b!=1) 55 { 56 printf("\n查无此数."); 57 } 5859return0; 60 }
正常运行结果是:
请输入数组元素的个数: 6 请输入元素1的值: 1 请输入元素2的值: 2 请输入元素3的值: 3 请输入元素4的值: 4 请输入元素5的值: 5 请输入元素6的值: 6 请输入你要查询的值: 5 要查找的是第5个元素.
但是当元素个数是5,且查询的值是第4个元素的值的时候,结果会出现2个:(经过验证,目前只发现在这个情况会出现bug)
1 请输入数组元素的个数: 5 2 3 请输入元素1的值: 1 4 5 请输入元素2的值: 2 6 7 请输入元素3的值: 3 8 9 请输入元素4的值: 41011 请输入元素5的值: 51213 请输入你要查询的值: 41415要查找的是第4个元素. 16 要查找的是第5个元素.
本人初学C,恳请路过的熟手可以帮忙解释一下是不是我哪儿写错了。。。谢谢大家的拔刀相助!
原文:http://www.cnblogs.com/alpharobert/p/5347097.html
内容总结
以上是互联网集市为您收集整理的C语言一个小程序的bug疑问 数组相关全部内容,希望文章能够帮你解决C语言一个小程序的bug疑问 数组相关所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。