【发布时间】:2018-09-14 01:06:00
【问题描述】:
我学习了一段时间的 C 编程,我不得不创建一个程序,其中包含一个函数 void hello() 显示单词 'Hello :)' 和数字,函数 hello() 被调用了多少次。下面的代码显示“Hello”,但函数调用的数量保持不变。我只想知道,出了什么问题以及为什么它不能正常工作。
#include <stdio.h>
int main(void) {
void hello(int *p_number);
int number = 1, i;
int* p_number = number;
for (i = 1; i <= 10; i++){
hello(&p_number);
printf("Number in cyclus = %d\n", number);
number++;
}
return 0;
}
void hello(int *p_number){
printf("number of calling = %d, Hello :)\n", *p_number);
}
【问题讨论】:
-
int* p_number = number;应该是int* p_number = &number; -
虽然完全跳过
p_number而直接写hello(&number);可能更惯用和更简单
标签: c