Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么会崩溃?_C++_Windows_Codeblocks - Fatal编程技术网

C++ 为什么会崩溃?

C++ 为什么会崩溃?,c++,windows,codeblocks,C++,Windows,Codeblocks,小Z先生正在看一张纸,试图找出写在纸上的数字的平方根,但没有成功 帮助小Z先生找到数字B,它是大数字A的平方根。数字A最多有1000位,A的平方根永远是整数 输入: 标准输入的第一行包含数字0 输出: 向标准输出写入数字M,其中M表示数字B的长度(其中B是数字A的平方根),在接下来的M行中写入数字B的数字(从最高有效位到最低有效位) 输入: 3. 6. 2. 五, 输出: 2. 2. 五, 说明: 写在纸上的数字是625,它的平方根是25 我的代码: #include <iostream&

小Z先生正在看一张纸,试图找出写在纸上的数字的平方根,但没有成功

帮助小Z先生找到数字B,它是大数字A的平方根。数字A最多有1000位,A的平方根永远是整数

输入: 标准输入的第一行包含数字0 输出: 向标准输出写入数字M,其中M表示数字B的长度(其中B是数字A的平方根),在接下来的M行中写入数字B的数字(从最高有效位到最低有效位)

输入: 3. 6. 2. 五,

输出: 2. 2. 五,

说明: 写在纸上的数字是625,它的平方根是25

我的代码:

#include <iostream> 
#include <cmath> 

using namespace std; 

int main() 
{ 
    int n,m,k,i; 
    int niza[1001]; 

    cin>>m; 
    for(int i=0;i<m;i++) 
    cin>>niza[i]; 

    niza[i]=k; 
    cout<<sqrt(k); 

    return 0; 
} 
#包括
#包括
使用名称空间std;
int main()
{ 
int n,m,k,i;
国际尼扎[1001];
cin>>m;
对于(int i=0;i>niza[i];
niza[i]=k;

cout这很可能是因为您从未设置
k
,并且它在程序开始时包含的随机值为负值,因此
sqrt(k)
崩溃。此外,如果输入的
m
大于
1000
,您将超出数组边界。

这很可能是因为您从未设置
k
,并且它在程序开始时包含的随机值为负值,因此
sqrt(k)
崩溃。此外,如果输入的
m
大于
1000
,您将超出数组边界。

您的程序将在以下位置崩溃:
niza[i]=k
,因为
i
超过了数组的末尾

k
未初始化。您正在输出未初始化变量的平方根

就像@Vilx-said一样,您必须在循环之前检查
m
的值

此外,
sqrt
函数对数字数组不起作用,因此您必须提出一种不同的方法来基于数字计算平方根

cin>>m
cin>>niza[i]
之后,您需要检查
cin
的状态。用户可以并且将输入任何内容,例如字母,当需要数字时,这些内容会导致失败


此外,请尝试在运算符和函数名之间添加空格。它们不会增加可执行文件的大小或速度,但会使读取和维护更容易。

您的程序将在以下位置崩溃:
niza[i]=k
,因为
i
已超过数组的末尾

k
未初始化。您正在输出未初始化变量的平方根

就像@Vilx-said一样,您必须在循环之前检查
m
的值

此外,
sqrt
函数对数字数组不起作用,因此您必须提出一种不同的方法来基于数字计算平方根

cin>>m
cin>>niza[i]
之后,您需要检查
cin
的状态。用户可以并且将输入任何内容,例如字母,当需要数字时,这些内容会导致失败


此外,尝试在操作符和函数名之间加空格。它们不会增加可执行文件的大小或速度,但会使阅读和维护更容易。

运行程序时输入的值是多少?模糊的标题不太可能帮助网站的未来访问者。太本地化了。运行程序时输入的值是多少e程序?模糊的标题不太可能帮助网站的未来访问者。太本地化了。