我正在C中玩一些基础知识.我有一个数组,我在位置0,1,2,3,4,5填充一个基本的for循环.问题是:当我尝试将其打印出来时,它会在我从未打算触摸的位置打印出奇怪的值(位置6-13).
代码:
#include <stdio.h>
#define MAXSIZE 16
int main()
{
int array[MAXSIZE];
int array2[MAXSIZE] = {0, 1, 2, 3, 4, 5};
int i;
for(i = 0; i < 6; i++)
{
array[i] = i;
}
for( i = 0; i < sizeof(array) / sizeof(int); i++)
//for( i = 0; i < 10; i++ )
{
printf("%d", array[i]);
}
printf("\n");
for(i = 0; i < sizeof(array2) / sizeof(int); i++)
{
printf("%d", array2[i]);
}
// printf("%lf\n", array[2]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
0 …
我不能为我的生活弄清楚为什么C忽略了我的if语句.
当输入为-1000时,我试图跳过while语句中的所有过程(因此在退出程序之前不会打印).这是我的代码:
int main()
{
int count = 1;
int grade1;
int grade2;
double sum;
double average;
printf("Please input a number of grades: \n");
scanf("%d", &grade1);
printf("Sum is: %d.000000 \n", grade1);
printf("Average is: %d.000000 \n", grade1);
count++;
sum = grade1;
while(grade2 != -1000)
{
if(grade2 != -1000)
{
scanf("%d", &grade2);
sum = sum + grade2;
average = sum / count;
printf("Sum is: %lf \n", sum);
printf("Average is: %lf \n", average);
grade1 = sum; //Converting the sum back into an int …Run Code Online (Sandbox Code Playgroud)