重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在函数中需要函数名的地方写上 宏 __func__就可以了
创新互联专注于企业成都营销网站建设、网站重做改版、石门网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为石门等各大城市提供网站开发制作服务。
#include stdio.h
const char* func1()
{
return __func__; //这语句类似return (char *)"func1";
}
void func2()
{
printf("call function %s\n", __func__);
}
int
main(void)
{
printf("function name %s\n", func1());
func2();
return(0);
}
运行结果:
function name func1
call function func2
fgets(ch,2,fp);
表示的fgets(char *s,int n,file)表示输出流文件的n-1个字符,所以只能输出2-1个,改为
fgets(ch,3,fp);就行啦输出ab
#include stdio.h
#includestdlib.h
void main()
{
FILE *fpc,*fp;
if((fpc=fopen("c:\\文件练习.TXT","w")) == NULL)//这里的W后面加b就是二进制文件的,以下相同,
//a是追加
{
printf("can't open this file!/n");
exit(0);
}
char chr;
printf("输入文件的内容\n");
chr=getchar();
while(chr!='@')
{
fputc(chr,fpc);
chr=getchar();
}
fclose(fpc);
printf("\n输出文件:");
if( (fp=fopen("c:\\文件练习.TXT","r")) == NULL)
{
printf("can't open this file!/n");
exit(0);
}
char ch[100]={0};
fgets(ch,3,fp);
puts(ch);
fclose(fp);
}
题主的原意是要通过produce函数产生10个随机数存入数组中,并能在main函数中使用是么?
如果我理解的没错的话,以下给出正确代码及注释。
核心思路是,produce函数以数组指针作为参数,生成随机数后,写入该指针所指向的数组中。如此在main函数中调用produce函数,即实现了“produce函数生成随机数并返回main函数”的效果。
#include stdio.h
#include stdlib.h
/*生成n个随机数,存入数组a中*/
void produce (int a[], int n) {
int i;
for (i=0; in; i++)
a[i] = rand()%100;
}
int main (void) {
int a[10]; /*用于存放随机数的数组*/
int i;
/*调用produce函数*/
/*将数组a作为参数,因数组名此处等同于指针,所以produce对数组a的读写结果,main函数中也可使用*/
produce (a,10);
for (i=0; i10; i++)
printf("%d ",a[i]);
getch ();
return 0;
}
运行结果
C语言的标准库
math.h中有tan的声明
直接用就好
double tan(double x);
一、
假设函数 void f(int b[])
(1)有定义int a[15],调用f(a),传递的是首地址。
(2)如果是调用f(a[1])相当于调用f(a+1),传递的还是地址,不是整个数组。
二、和一中说的一样,依然是地址。
三、不是,是第二行的地址,不是第二列,C和fortran不一样,是以行为主序的。例如:
int arr[3][4];
int (*a)[4] = arr;
a指向arr[0],第一行行地址
a+1指向arr[1],第二行行地址
#define EPSLION 1e-5
double sqrt(double n)
{
if (n 0)
{
return n;
}
double low = 0.0, high = n;
double value = (low + high) / 2;
while (value * value - n EPSLION || value * value - n -EPSLION)
{
if (value * value n)
high = value;
else
low = value;
value = (high + low) / 2;
}
return value;
}