Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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++ 来自用户';s输入奇数和偶数的总和。输入介于0到99之间的数字 #包括 使用名称空间std; int main() { int i,t,x[20],偶数,奇数,素数; cout_C++ - Fatal编程技术网

C++ 来自用户';s输入奇数和偶数的总和。输入介于0到99之间的数字 #包括 使用名称空间std; int main() { int i,t,x[20],偶数,奇数,素数; cout

C++ 来自用户';s输入奇数和偶数的总和。输入介于0到99之间的数字 #包括 使用名称空间std; int main() { int i,t,x[20],偶数,奇数,素数; cout,c++,C++,变量偶数和奇数从未设置为已知值,因此不允许正式读取它们。这样做会调用最臭名昭著的标准概念:未定义的行为。因此这些变量的值可能是对的,也可能是错的;变量和所有试图读取它们的代码可以完全在您的程序之外进行优化;或者任何事情都可能发生。您不能依靠这些变量来做任何正确的事情。所有读取它们的尝试都会使您的程序格式不正确,因此现在它可以做任何事情,包括您无法想象的事情 您应该搜索关于这些概念的丰富背景信息,但我认为我在这里做了一个相当不错的总结: 此外,正如Thomas在评论中指出的,您似乎不了解数组索引是

变量
偶数
奇数
从未设置为已知值,因此不允许正式读取它们。这样做会调用最臭名昭著的标准概念:未定义的行为。因此这些变量的值可能是对的,也可能是错的;变量和所有试图读取它们的代码可以完全在您的程序之外进行优化;或者任何事情都可能发生。您不能依靠这些变量来做任何正确的事情。所有读取它们的尝试都会使您的程序格式不正确,因此现在它可以做任何事情,包括您无法想象的事情

您应该搜索关于这些概念的丰富背景信息,但我认为我在这里做了一个相当不错的总结:


此外,正如Thomas在评论中指出的,您似乎不了解数组索引是如何工作的:索引是基于0的声明编号从0到19的20个元素。您尝试访问索引20,它不是数组的一部分,因此是更多的未定义行为。

调试程序时发现了什么?同意。删除主要查找代码,与确定偶数/奇数无关,然后开始逐步执行您的开发OPmentEnvironment的调试器。没有调试器?别浪费时间了,买一个带调试器的开发系统。几乎所有的调试器都有。这是
x[20]
这是(i=1;IAM我缺少偶数=奇数=0的单位化变量=未定义的行为。NEXT感谢指出……它改进了代码。它现在起作用了……欢迎您的确认,谢谢您的确认。请考虑如果这是有用的,请进行投票,并把它标记为答案,如果它已经解决了您的问题。YUP它解决了我的问题……踝关节
#include <iostream>
using namespace std;
int main()
{
int i,t,x[20], even, odd, prime; 
cout << "Enter 20 integer numbers from 0 to 99: "<<endl;
for (i=1;i<=20;i++)
{
    cout << "Input " << i <<":";
    cin >> x[i];
}
cout << "\nPrime numbers are: " << endl ; 
prime=1;
for (i=2; i<=20 ; i++)
{
    for(t=2;t<x[i];t++)
    {
        if(x[i]%t==0)
        {
            prime=0;
        }
    }
    if(prime==1)
    {
        cout << x[i] << endl;
    }
    prime=1;
 }
 for(i=1; i<=20; i++) // this is where i have problem.
 {
    if(x[i]% 2 == 0)
    {
        even++;
    }
    else 
    {
        odd++;
    }
 }
 cout << "Number of odd numbers: " << odd << "\n";
 cout << "Number of even numbers: " << even << "\n";
 return 0 ;  
 }