为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁花如伊 2021-07-05 10:06:03
#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
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

由于函数只能有一个返回值,可以考虑如果找不着返回正常值之外的值,比如-1


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


查看完整回答
反对 回复 2021-07-11
?
慕容708150

TA贡献1831条经验 获得超4个赞

返回值只有一个,怎么能返回两个只值呢。

查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 414 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信