#include<stdio.h>
int main()
{
int i,n
float sum=0
printf("请输入n:\n")
scanf("%d",&n)
for(i=1i<=ni++)
sum+=(float)1/i
printf("前n项和为sum=%.4f\n",sum)
return 0
}
K&R C
起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。
意思就是把k这个变量的负值赋给k变量。C语言里=这个符号是赋值符号而不是等于号,有赋值符号的式子,应该从右向左计算,并把右边的最终结果赋给左边的变量,因此k=-k的意思就是先对k这个变量取负值,然后将k的负值赋给k这个变量。
C语言里的等于号是==,除号是/,乘号是*。
在C语言中,**k 表示一个二级指针。
一级指针*k的值为二级指针**k的地址。
可以通过如下实例来理解二级指针的含义与使用:
int a=5 // 定义一个int类型的变量aint *p // 定义一个int类型一级指针变量p
int **k // 定义一个int类型二级指针变量k
p = &a // 使一级指针p指向变量a的地址
k = &p // 使二级指针k指向一级指针p的地址
printf("%d", a) // 输出10
printf("%d", *p) // 输出10
printf("%d", **k) // 输出10