您好,虽然c++调用了函数可是我返回不了值 ?请问该怎么办?

#include<stdio.h>
#include<stdlib.h>
int main()
{int i=0,t,flag=0;
int b(int flag, int i,int t);
int a[10] = { 15, 23, 67, 98, 54, 17, 6, 29, 38 };
printf("请输入一个需要查找的数:");
scanf_s("%d", &t);
{if (flag==1) printf("%d", i);
else if (flag==0)printf("该数不存在"); }
system("pause"); return 0;
}
int b(int flag, int i,int t)
{
int a[10] = { 15, 23, 67, 98, 54, 17, 6, 29, 38 };
for (i = 0; i <= 9; i++)
{
if (a[i] == t)flag = 1; break;
}
system("pause"); return (flag,i); }
vs2013

繁花如伊
浏览 416回答 2
2回答

慕侠2389804

由于函数只能有一个返回值,可以考虑如果找不着返回正常值之外的值,比如-1#include<stdio.h>#include<stdlib.h>int&nbsp;b(int&nbsp;*a,&nbsp;int&nbsp;n,int&nbsp;t);int&nbsp;main()&nbsp;{&nbsp;int&nbsp;i=0,t,r,a[10]&nbsp;=&nbsp;{&nbsp;15,&nbsp;23,&nbsp;67,&nbsp;98,&nbsp;54,&nbsp;17,&nbsp;6,&nbsp;29,&nbsp;38&nbsp;};&nbsp;&nbsp;printf("请输入一个需要查找的数:");&nbsp;scanf_s("%d",&nbsp;&t);&nbsp;&nbsp;r=b(a,9,t);&nbsp;//a数组9个有效元素&nbsp;&nbsp;if&nbsp;(&nbsp;r<0&nbsp;)&nbsp;printf("该数不存在");&nbsp;&nbsp;else&nbsp;printf("%d",r);&nbsp;&nbsp;system("pause");&nbsp;return&nbsp;0;}int&nbsp;b(int&nbsp;*a,&nbsp;int&nbsp;n,int&nbsp;t)&nbsp;{&nbsp;int&nbsp;i,flag;&nbsp;&nbsp;flag=-1;&nbsp;&nbsp;for&nbsp;(&nbsp;i=0;i<n;i++&nbsp;)&nbsp;if&nbsp;(&nbsp;a[i]==t&nbsp;)&nbsp;{&nbsp;flag=i;&nbsp;break;&nbsp;}&nbsp;&nbsp;return&nbsp;flag;}

慕容708150

返回值只有一个,怎么能返回两个只值呢。
打开App,查看更多内容
随时随地看视频慕课网APP