我一直收到一个警告,关于传递参数使得指针来自整数而没有强制转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我一直收到一个警告,关于传递参数使得指针来自整数而没有强制转换相关的知识,希望对你有一定的参考价值。
C:\ Users \ OWNER \ Downloads \ program1.c | 61 |警告:传递'get_range'的参数1使得整数指针没有强制转换|
巨大的问题真的很值得帮助教授拒绝提供帮助。晚餐休息后,我一直在盯着这个问题约3个小时。我还是想不出来。如果你可以帮我向我解释这一点,那么我可以了解我做错了什么我会非常感激。
/**********************************************************************/
/* */
/* Program Name: program1 */
/* Author: Tommy Lokey */
/* Course: CS 227, Data Structures and Algorithms */
/* Date Written: September 2, 2018 */
/* */
/**********************************************************************/
/**********************************************************************/
/* */
/* I pledge all of the lines in this C program are my own original */
/* work and that none of the lines in this C program have been copied */
/* from anyone else, unless I was specifically authorized to do so by */
/* my CS227 instructor. */
/* */
/* */
/* Signed: _____________________________________ */
/* (signature) */
/* */
/* */
/**********************************************************************/
/**********************************************************************/
/* */
/* This program asks the user for two wholes numbers, it then sums */
/* the range of the two whole numbers. It then displays the sum. */
/* */
/**********************************************************************/
#include <stdio.h> /* printf, scanf */
/**********************************************************************/
/* Symbolic Constants */
/**********************************************************************/
#define COURSE_NUMBER "CS227" /* PCC assigned course number */
#define PROGRAM_NUMBER 1 /* Teacher assigned program number */
#define USER_NAME "Lokey" /* The Programmer's username */
/**********************************************************************/
/* Function Prototypes */
/**********************************************************************/
void print_heading();
/* Print the program heading*/
void get_range(int *p_low_number, int *p_high_number);
int sum_range(int low_number, int high_number);
/**********************************************************************/
/* Main Function */
/**********************************************************************/
int main()
{
int low_number, /* Minimum number entered by user */
high_number; /* Maximum number entered by user */
/* Print the program heading */
printf("\n\n\n\n\n\n");
print_heading();
get_range(low_number, high_number);
printf("\nThe sum of all you numbers between %d and", low_number);
printf("%d (inclusively) is %d", high_number,
sum_range(low_number, high_number));
printf("\nThanks for your range summing. Have a nice day! ;-)");
return 0;
}
/**********************************************************************/
/* Print the program heading */
/**********************************************************************/
void print_heading()
{
printf("\n========================================================");
printf("\n Program Number: %d", PROGRAM_NUMBER);
printf("\n Programmer: %s", USER_NAME);
printf("\n PCC Course Number: %s", COURSE_NUMBER);
printf("\n========================================================");
printf("\nI'll sum whole numbers in a number range (inclusively)");
printf("\n--------------------------------------------------------");
return;
}
/**********************************************************************/
/* Get Range Function */
/**********************************************************************/
void get_range(int *p_low_number, int *p_high_number)
{
printf("\nEnter a range of whole numbers now, lower number first:");
printf("\n What is your small number: ");
scanf(" %d", p_low_number);
printf("\n Give your large number: ");
scanf(" %d", p_high_number);
return;
}
/**********************************************************************/
/* Sum Range Function */
/**********************************************************************/
int sum_range(int low_number, int high_number)
{
int range_counter = 0;
for(low_number; low_number <= high_number; low_number++)
{
range_counter = range_counter + low_number;
}
return range_counter;
}
答案
get_range(low_number, high_number);
=> get_range(&low_number, &high_number);
另一答案
函数get_range()
需要两个指针。那是因为它将使用这些指针为另一个函数的变量赋值。
您的教授希望您使用此函数来读取在main()
中声明的两个变量。所以你必须获取这些变量的地址并将它们传递给get_range()
,而不是它们的值。
以上是关于我一直收到一个警告,关于传递参数使得指针来自整数而没有强制转换的主要内容,如果未能解决你的问题,请参考以下文章
警告:传递“Proc_Start”参数 3 的指针目标在符号上不同