这个C++程序哪里错了?
发布网友
发布时间:2024-10-14 22:01
我来回答
共6个回答
热心网友
时间:2024-10-24 22:24
#include <iostream>//少了头文件
using namespace std;
int main()
{
short k = 1000, p;
p = k*k/k;
cout << p << endl;
getchar();
return 0;
}
还有如果要输出p=k*k;则会溢出的。
所以p最好使用整形或长整型
热心网友
时间:2024-10-24 22:24
short型整数的取值范围是65535以内,k*k=10万,溢出了。
......虽然就这道题而言,输出结果不会出错.
热心网友
时间:2024-10-24 22:25
调试完毕,结果没有错
热心网友
时间:2024-10-24 22:25
楼主的意思是:程序编译通过(有可能有警告),但数值和预想的不对。
1000*1000=1000000一百万了,short的范围是:-32767到32767,肯定要溢出,所以和楼主预想的不对,把short改为int比较合适。int的范围正负20个亿,基本不会溢出的。
热心网友
时间:2024-10-24 22:26
你要整篇复制过来,这样怎么知道错误在哪?呵呵
热心网友
时间:2024-10-24 22:27
#include
<stdio.h>
int
add(int
x,int
y)
{
int
z;
z=x+y;
return(z);
}
void
main()
{
int
a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf("sum=
%d\n",sum);
}
//一个是函数问题,一个是用了中文的引号,自己对比一下就清楚了