本文由我司收集整编,推荐下载,如有疑问,请与我司联系printf在调用通过引用传递变量的函数时发出警告printf在调用通过引用传递变量的函数时发出警告[英]printf gives a warning when calling a function that is passing a variable by reference So I have two functions, one function is passing by reference a variable and the other one is returning the result.
 因此我有两个函数,一个函数通过引用传递一个变量,另一个函数返回结果。
 void dailyMiles(int *totalMiles) int milesDriven, totalDays, totalPeople; peopleInVehicle( totalPeople); //calling other function daysPerWeek( totalDays); // calling other function printf(“Enter the amount of miles driven per day: \n”); scanf(“%d”, milesDriven); I’m having a hard time trying to figure out why it gives me this warning in the terminal:
 我很难弄清楚为什么它会在终端给我这个警告:
  main.c:38:36: warning: format specifies type ‘int’ but the argument has type ‘int *’ [-Wformat] printf(“Total miles saved: %d\n”, totalMiles); ~~ -~~~~~~~~ You are probably wondering why the dailyMiles function’s datatype is void; well, I’m calling other functions that ask for users input so whenever I call it in my main, it asks for users input two times.
 您可能想知道为什么dailyMiles函数的数据类型为void;好吧,我正在调用其他要求用户输入的函数,因此无论何时我在main中调用它,它都要求用户输入两次。
  2
关于printf函数正确的是 You don’t want to print the pointer itself (totalMiles), you want to print what it points to (*totalMiles).
 您不想打印指针本身(totalMiles),您想要打印它指向的内容(* totalMiles)。
  printf(“Total miles saved: %d\n”, *totalMiles); 2
 In function void dailyMiles(int *totalMiles) at statement 10: printf(“Total miles saved: %d\n”, **totalMiles**);
 在函数void dailyMiles(int * totalMiles)at语句10:printf(“保存的总里程数: