实验十 指针与函数
实验目的
理解并掌握函数的指针等概念,学会利用指向函数的指针变量,学会编写返回指针值的函数。
要点提示
1.函数名代表函数的入口地址,函数的入口地址即为函数的指针。 2.指向函数的指针变量的概念格式: 数据类型标识符 (*指针变量名)();
3. 函数的挪用能够通过函数名挪用,也能够通过函数指针挪用。 4.返回指针值的函数概念格式: 类型标识符
*函数名(形式参数表);
5. 当函数有多个计算结果或返回值时,能够概念函数返回值的类型为指针类型。
实验内容
1. 指向函数的指针变量的概念和引用 2. 返回指针值的函数的概念和引用 3. 指向函数的指针变量作为函数参数
实验步骤
读懂并输入程序,完成填空后输出结果。
1. 写一个函数,将字符串中的小写字母转换成大写字母。在main函数中输入字符串,并输出结果。
main()
{ void convert(); /* 函数说明 */ char str[10];
printf(\ scanf(\ 【 】
printf(\ string:%s\ }
void convert(char p[10]) /* 函数概念 */ { int i=0;
while (*(p+i) !='\\0') {
if (*(p+i)>='a' && *(p+i)<='z')
*(p+i)=*(p+i)-【 】; /* 将小写字母转换为大写字母 */ i++; } }
程序运行结果 Input a string: Nba
Output the string: 【 】 main() {
void convert(); /* 函数说明 */ char str[10];
printf(\ scanf(\ convert(str);
printf(\ string:%s\ }
void convert(char p[10]) /* 函数概念 */ { int i=0;
while (*(p+i) !='\\0') { }
if (*(p+i)>='a' && *(p+i)<='z')
*(p+i)=*(p+i)-32; /* 将小写字母转换为大写字母 */ i++;
}
Input a string:Nba
Output the string:NBAPress any key to continue
实验2 main()
{ void convert(); /* 函数说明 */ char str[10]; 【 】;
printf(\ scanf(\ 【 】;
(*p)(str); /* 函数挪用 */ printf(\ string:%s\ }
void convert(char p[10]) /* 函数概念 */ { int i=0;
while (*(p+i) !='\\0') {
if (*(p+i)>='a' && *(p+i)<='z')
*(p+i)=*(p+i)-32; /* 将小写字母转换为大写字母 */ i++; } }
程序运行结果 Input a string: Nba
Output the string: 【 】
main()