C语言特别简单的问题

#include<stdio.h>
int main()
{int n,k;
double s;
s=1.0;
scanf("%d",&n);
for(k=1;k<n;k++)
{s+=1.0/(k(k+1));
printf("s=%lf\n",s);}
return 0;
}

1>------ 已启动生成: 项目: hello, 配置: Debug Win32 ------
1> hello.cpp
1>f:\二级c\hello\hello.cpp(5): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> f:\二级c\vc\include\stdio.h(304) : 参见“scanf”的声明
1>f:\二级c\hello\hello.cpp(7): error C2064: 项不会计算为接受 1 个参数的函数
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

到底什么意思,跪求个大佬给我细细解答一下

一个警告,一个错误。
警告是告诉你scanf不安全,建议换用scanf_s,这个可以无视。
k(k+1)是数学的写法,不是C语言的写法。C语言中,乘号必须表示出来,而且是用*表示。
修改方法:在{s+=1.0/(k(k+1));的k与(k+1)之间添加*,即改为{s+=1.0/(k*(k+1));
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-13
s+=1.0/(k(k+1));改成s+=1.0/(k*(k+1));
相似回答