【发布时间】:2021-12-10 09:31:00
【问题描述】:
我从未见过这样的编译错误。 什么是 int*? 错误说 %d 需要 int* 而不仅仅是 int 我使用 %d 后跟 int var... 但是我应该如何处理 int*?
int main()
{
int hour, min, car;
printf("-------------------------------------\n");
printf("\n주차요금 계산 프로그램\n");
printf("\n주차 시간을 입력하세요.\n\n 시간:\n");
scanf("%d",hour);
printf("\n 분:\n");
scanf("%d", min);
printf("\n%d시간 %d분\n", hour, min);
printf("\n당신의 차종은 무엇입니까?\n");
printf("\n 1.경차 2.기타\n");
scanf("%d", car);
【问题讨论】:
-
hour的声明是什么样的?int hour;?然后使用scanf("%d", &hour);。 -
@Sunfare1944 - 您从哪里得知可以按值将变量传递给
scanf? -
暂时不用担心
int *的含义。这只是意味着您需要在使用scanf填写的大多数变量上使用&。除了字符串之外的所有内容。 -
C 是按值传递的:
scanf的参数被复制,并具有该函数的生命周期。因此,没有办法直接返回参数;你必须传递它的内存地址。有了字符串,你已经是了。
标签: c function calculator fare