7.1练习,指针部分用法,算个平均数

#define _STDC_WANT_LIB_EXT1_ 1
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define CAP_INCR 5

int main(void)
{
double *values =NULL;
int capacity = 0;
double *temp = NULL;
double sum = 0.0;
int count = 0;
char answer = ‘n‘;

do
{
if(count == capacity)
{
capacity += CAP_INCR;
temp = realloc(values,capacity*sizeof(double));
if(!temp)
{
printf("bullshit\n");
exit(1);
}
values = temp;
temp = NULL;
}

printf("Enter number:\n");
if(EOF==scanf_s("%lf",values+count++))
{
break;
}

printf("Do you want to enter another(y or n)? ");
scanf(" %c", &answer);

}while(tolower(answer)==‘y‘);

for(int i = 0;i<count;i++)
{
sum+=*(values+i);
}

printf("the result is %lf\n",sum/count);
return 0;

}
时间: 2024-11-09 23:31:23

7.1练习,指针部分用法,算个平均数的相关文章

C中函数指针的用法

理解了C中的声明和指针的话题后再来看函数指针的用法就很容易了. C中函数指针主要有两个用途: 1.作为参数传递给另外一个函数(即作为回调函数) 2.转换表(jump table) 下面分别来介绍作为回调函数的用法和作为转换表的用法 1.回调函数 在链表的查找中使查找函数与类型无关 /*在一个单链表中查找一个指定值的函数.它的参数是一个指向链表第一个节点的指针 * 一个指向我们需要查找的值的指针和一个函数指针,它所指向的函数用于比较存储于链表中的类型的值*/ #include <stdio.h>

函数指针的用法

函数指针试吃由于函数地址的指针.针织能够指向函数对于C/C++来说很重要也很有用,这为我们编译时未确定的顺序呢执行函数提供了另一种选择,而不需要使用条件语句. 1.声明函数指针 void (*foo)(); int (*f1)(double);//传入double,返回int void (*f2)(char*);//传入char*指针,没有返回值 double* (*f3)(int,int);//返回double指针 如果去掉第一对括号就成了返回 void* 的函数了! 下面的例子就是返回指针的

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl

c++指针各种用法小结

指针各种用法小结 1.int*p; 一般指针. 2.int (*p)[M]; p指向含有M个元素的一维数组,可指向每行含有M个元素的二维数组的一行(行指针). 3.int * p[M]; p是指针数组,含有M个元素,每个元素都是整形指针.p的类型是int *[]. 4.int **p; p是指向整型指针的指针. 5.int (*p)(int,int); p是一个函数指针. 6.int *f(……); 这是一个函数定义(指针函数),返回值为int *. 7.void类型指针 1)任何类型的指针都可

C#中this指针的用法示例

这篇文章主要介绍了C#中this指针的用法,对初学者而言是非常重要的概念,必须加以熟练掌握,需要的朋友可以参考下. 本文实例展示了C#中this指针的用法,对于初学者进一步牢固掌握C#有很大帮助,具体内容如下: 一.this指针是什么: 这里有一些面向对象编程的概念需要说明:类(Class)的概念和对象(Object)的概念类是对事物概括,也是C#编码时所有代码归属的基本单位:而对象是对类的实例化,也就是C#里new方法的返回值.写代码是不能直接用操作类,而只能先实例化类,然后我们用这个类被实例

C++成员函数指针错误用法警示(成员函数指针与高性能的C++委托,三篇),附好多评论

今天做一个成绩管理系统的并发引擎,用Qt做的,仿照QtConcurrent搞了个模板基类.这里为了隐藏细节,隔离变化,把并发的东西全部包含在模板基类中.子类只需注册需要并发执行的入口函数即可在单独线程中执行.最终目标是,继承的业务逻辑类外部调用时有两个接口可选,调用syncRun同步执行:调用由引擎自动生成的asyncRun就异步执行.最终自动生成asyncRun的模板基类没能实现,主要原因是mingw对this处理的太有问题了!!原本以为编译器问题,后来才知道成员函数指针和this指针如此特殊

第22篇 js中的this指针的用法

前面把js的相关知识总结了下,今天把js中的上下文的this,对于强类型语言,this的用法非常的单一,因为他们没有js特有的动态绑定. 首先看下面代码: function funcA() { this.name = "hello"; console.log(this.name); this.show = function() { console.log(this.name); } } funcA();// 1.hello var a = new funcA();//2.hello a

智能指针unique_ptr用法

unique_ptr是独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另一个unique_ptr,如下面错误用法: std::unique_ptr<T> myPtr(new T); std::unique_ptr<T> myOtherPtr = myPtr; // error 但是unique_ptr允许通过函数返回给其他的unique_ptr,还可以通过std::move来转移到其他的unique_ptr,注意,这时它本身就

指针的用法

大家都应该知道, 指针是个什么玩意儿, 它就是用来存另一个变量的地址的.这玩意儿在程序中容易引起不易察觉的错误, 而且会给调试带来莫大的困难. 尽管如此,它现在依然存在着, 这就从另一方面说明了, 它的功能爆表. 在实现链式存储, 图, 树, 森林时, 大都要用指针. 不仅如此, 在访问多维数组,函数参数传递时, 也多用指针.下面给出指针的一些常用的用法代码. /*指针的声明及一般用法*/ /*___________________________________________________