小编Kin*_*ird的帖子

C填充数组而不被要求

我正在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 arrays

1
推荐指数
1
解决办法
74
查看次数

如果没有抓住声明

我不能为我的生活弄清楚为什么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)

c if-statement statements

-1
推荐指数
1
解决办法
81
查看次数

标签 统计

c ×2

arrays ×1

if-statement ×1

statements ×1