练习11
【日常练习】
指针变量
描述
输入一个整型数,存入变量i,通过子函数change把主函数的变量i除2,然后打印i,例如如果输入的为10,打印出5,如果输入的为7,打印出3
输入
一个整型数
输出
对应整型数除2后的商
输入示例1
10
输出示例1
5
输入示例2
7
输出示例2
3
代码演示:
#include <stdio.h>
void change(int *p)
{
*p = *p / 2;
}
int main()
{
int i;
scanf("%d", &i);
change(&i);
printf("%d\n", i);
return 0;
}
常见错误
#include <stdio.h>
void change(int *p)
{
*p = *p / 2;
}
int main()
{
//int i;
int *p;//如果定义一个指针变量,没有初始化,就是空的藏宝图
scanf("%d", p);
change(p);
printf("%d\n", *p);
return 0;
}
如果定义一个指针变量,没有初始化,就是空的藏宝图
修改:
#include <stdio.h>
void change(int *p)
{
*p = *p / 2;
}
int main()
{
int i;
int *p = &i;//初始化
scanf("%d", p);
change(p);
printf("%d\n", *p);
return 0;
}
总结
本题主要练习指针的传递使用场景。