C 使用指针传递值
我正在学习C和指针。我遵循下面的代码,有几个问题C 使用指针传递值,c,pointers,C,Pointers,我正在学习C和指针。我遵循下面的代码,有几个问题 我的MS Visual Studio抱怨:使用了未初始化的局部变量“day_ret”。然后,我使用Geany(另一个IDE)进行了遵从,它可以正常工作。这个代码有什么问题吗 我觉得编写代码的作者应该给月份和日期加上一些值。否则,它只会打印出内存地址,对吗?我想知道我是否应该把初始值放在mian后面 参考: www.publications.gbdirect.co.uk/c_book/chapter5/pointers.html #include
#include <stdio.h>
#include <stdlib.h>
void date(int *, int *); /* declare the function */
int main(){
int month, day;
date (&day, &month);
printf("day is %d, month is %d\n", day, month);
exit(EXIT_SUCCESS);
}
void date(int *day_p, int *month_p){
int day_ret, month_ret;
/*
* At this point, calculate the day and month
* values in day_ret and month_ret respectively.
*/
*day_p = day_ret;
*month_p = month_ret;
}
#包括
#包括
无效日期(整数*,整数*);/*声明函数*/
int main(){
int月,日;
日期(日和月);
printf(“天是%d,月是%d\n”,天,月);
退出(退出成功);
}
作废日期(整数*日,整数*月){
国际日、月;
/*
*此时,计算日期和月份
*分别以日和月为单位的值。
*/
*day_p=day_ret;
*月p=月ret;
}
/*
* At this point, calculate the day and month
* values in day_ret and month_ret respectively.
*/
该代码将设置day\u ret
和month\u ret
。如果没有丢失的代码,它实际上是不完整的,您可以获得天
和月
的任何值date
方法,该方法通过这些指针存储值。然后将打印这些值/*
* At this point, calculate the day and month
* values in day_ret and month_ret respectively.
*/
该代码将设置day\u ret
和month\u ret
。如果没有丢失的代码,它实际上是不完整的,您可以获得天
和月
的任何值date
方法,该方法通过这些指针存储值。然后将打印这些值简而言之,day_ret包含垃圾值,并且最终,
day_p
指向包含垃圾的位置。您应该遵循注释中给出的说明。在返回之前,您需要填写day_ret
和month_ret
的值。否则,一切正常。简而言之,day_ret包含垃圾值,并且最终,day_p
指向包含垃圾的位置。您应该遵循注释中给出的说明。在返回之前,您需要填写day_ret
和month_ret
的值。否则,一切都好。