gpt4 book ai didi

c - 将多个值从一个函数返回到另一函数

转载 作者:行者123 更新时间:2023-11-30 17:34:17 26 4
gpt4 key购买 nike

从 termspro 下面的函数中,我想在另一个函数中使用 coeff 和 power 并尝试了以下行,但它会给我一个值,另一个为 0

//Term是字符数组

int power,coef=termspro(term); 
printf("POWER : %d\n",power);
printf("COEF : %d\n",coef);

int termspro(char term[20]){
int i,m=0,j=0,coeff=0,power=0;
char coef[10], powerr[10];
char *p;
memset(&coef[0],'\0',sizeof(coef));
memset(&powerr[0],'\0',sizeof(powerr));
int termLen=strlen(term);
for(i=0;i<termLen; i++){
if(term[i]=='-')
m++;
if((term[i]>='0'&&term[i]<='9')&&(term[i-1]!='^')&&(term[i-2]!='^')&&(term[i-3]!='^')&&(term[i-4]!='^')){
coef[j]=term[i];
j++;
}
}
//printf("this term's coef = %s\n",coef);
int coefLen=strlen(coef);
for(i=0;i<coefLen;i++){
coeff= (coeff*10)+((int)coef[i]-48);
}

//To get the sign :
if(m%2!=0)
coeff*=-1;
//THE COEF IS DAMN READYYYYYYY :D !!
printf("COEF : %d\n",coeff);
//To get the power :
p=strchr(term,'^');
char delm[2]="^";
if(p != NULL)
{
strcpy(powerr,p);
}
//printf("this term's power = %s\n",powerr);
int powerLen=strlen(powerr);
for(i=1;i<powerLen;i++){
power= (power*10)+((int)powerr[i]-48);
}
printf("POWER : %d\n",power);
return coeff,power;
}

最佳答案

您不能从 C 中的函数返回多个值。替代方法是将变量的指针(可以保存所需的值)作为参数传递给函数。这样调用函数就可以从被调用函数中获取值。

另一种选择是使返回类型为结构体或指向结构体的指针,它可以保存多个值。

关于c - 将多个值从一个函数返回到另一函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23426845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com