求救,一段源代码不能达到想要的结果

没事人 2014-03-09 09:48:13
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
struct {int x;int y;}b[300];
a(int u,int v){for(int c=0;c<300;c++){if(u==b[c].x&&v==b[c].y)return 1;else return 0;}}
int main()
{int k=0;
for(int i=0;i<20;i++){for(int j=0;j<15;j++,k++){b[k].x=i;b[k].y=j;}}
if(!a(0,1))cout<<"llll";
for(i=0;i<300;i++)cout<<b[i].x<<" "<<b[i].y<<" ";
return 0;
}
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟走起 2014-03-10
  • 打赏
  • 举报
回复
你函数的return语句放在循环里面,循环肯定只会执行一次了,所以只会判断b[0]了。
没事人 2014-03-10
  • 打赏
  • 举报
回复
上班去了有空再说
没事人 2014-03-10
  • 打赏
  • 举报
回复
实现如果a()中的数是b[]中的就输出lll,如果不是就不输出,函数a的返回类型应该是bool吧,为什么只判断b[0];
没事人 2014-03-10
  • 打赏
  • 举报
回复
// Note:Your choice is C++ IDE #include <iostream> using namespace std; struct {int x;int y;}b[3]={1,2,3,4,5,6}; a(int u,int v){for(int d=0;d<3;d++){if(u==b[d].x&&v==b[d].y)return 1;else return 0;}} int main() {if(a(1,2))cout<<"llll"; return 0; }为什么这个可以
pwudi922 2014-03-09
  • 打赏
  • 举报
回复
首先,你这段程序想要什么结果没有说 第二 函数a 没有声明返回类型,会无法通过编译 第三 main里的最后一个for里的i没有定义,会无法通过编译 最后是函数a 这个函数只会判断b[0],其他数组元素不会去判断。 因为判断u,v与b[0].x,b[0].y相等或者不等后都会返回,函数结束。 这个程序对数组b赋值后 b[0].x == 0, b[0].y == 0 所以a(0,1)会返回false
没事人 2014-03-09
  • 打赏
  • 举报
回复
if(a(0,1))不是应该返回1吗,为什么改为if(!a(0,1))才能编译出自己想要的结果
没事人 2014-03-09
  • 打赏
  • 举报
回复
// Note:Your choice is C++ IDE #include <iostream> using namespace std; struct {int x;int y;}b[300]; a(int u,int v){for(int c=0;c<300;c++){if(u==b[c].x&&v==b[c].y)return 1;else return 0;}} int main() {int k=0; for(int i=0;i<20;i++){for(int j=0;j<15;j++,k++){b[k].x=i;b[k].y=j;}} if(a(0,1))cout<<"llll"; for(i=0;i<300;i++)cout<<b[i].x<<" "<<b[i].y<<" "; return 0; }
没事人 2014-03-09
  • 打赏
  • 举报
回复
// Note:Your choice is C++ IDE #include <iostream> using namespace std; struct {int x;int y;}b[300]; a(int u,int v){for(int c=0;c<300;c++){if(u==b[c].x&&v==b[c].y)return 1;else return 0;}} int main() {int k=0; for(int i=0;i<20;i++){for(int j=0;j<15;j++,k++){b[k].x=i;b[k].y=j;}} if(!a(0,1))cout<<"llll"; for(i=0;i<300;i++)cout<<b[i].x<<" "<<b[i].y<<" "; return 0; }

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧