【发布时间】:2021-04-02 14:48:46
【问题描述】:
我在设置函数代码时遇到问题。错误消息显示:冲突类型。
所以我认为是因为我的返回类型与参数中的值不同。所以我想知道参数中是否可以有不同类型的值以及如何修复此代码。
//prompt user to enter the credit card number and print it on screen
long get_credit()
{
long credit_number = get_long("Number: ");
//printf("Number: %li\n",credit_number); //debugging
return credit_number;
}
//digits lengther
int get_digit(long credit_number)
{
long credit = credit_number; //length of the number of digits given by the user
int length = 0;
while(credit != 0)
{
credit = credit/10 ;
length ++ ;
}
return length;
}
这是它显示给我的错误消息。
credit_v2.c:154:5: error: conflicting types for 'get_digit'
int get_digit(long credit_number)
^
credit_v2.c:7:5: note: previous declaration is here
int get_digit(void); //calculate the number of digits
^
再次感谢大家的帮助!
【问题讨论】:
-
将行
int get_digit(void);更改为int get_digit(long credit_number);。这是 credit_v2.c 的第 7 行