printf 不打印存储在变量中的整数

printf not printing integer stored in variable

由于某些奇怪的原因,当我在标记部分输入值时,打印的值都是 0,请帮忙,我尝试了 运行 较小版本的代码并且它有效我不知道为什么这没有。 这是代码: 堆栈溢出一直给我一个错误,因为显然我的大部分问题都是代码,所以请忽略这个

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int marksComm;
    char gradeComm[1];
    int marksEco;
    char gradeEco[1];
    int marksCompsys;
    char gradeCompsys[1];
    int marksProg;
    char gradeProg[1];
    int marksDis;
    char gradeDis[1];
    int marksLab;
    char gradeLab[1];
    int marksPhy;
    char gradePhy[1];
    printf("CCS001\nMarks> ");
    scanf("%d", &marksComm);
    printf("Grade> ");
    scanf("%s", &gradeComm);

    printf("\nCCS009\nMarks> ");
    scanf("%d", &marksEco);
    printf("Grade> ");
    scanf("%s", &gradeEco);

    printf("\nCSC111\nMarks> ");
    scanf("%d", &marksCompsys);
    printf("Grade> ");
    scanf("%s", &gradeCompsys);

    printf("\nCSC112\nMarks> ");
    scanf("%d", &marksProg);
    printf("Grade> ");
    scanf("%s", &gradeProg);

    printf("\nCSC113\nMarks> ");
    scanf("%d", &marksDis);
    printf("Grade> ");
    scanf("%s", &gradeDis);

    printf("\nCSC126\nMarks> ");
    scanf("%d", &marksPhy);
    printf("Grade> ");
    scanf("%s", &gradePhy);

    printf("\nCSC115\nMarks> ");
    scanf("%d", &marksLab);
    printf("Grade> ");
    scanf("%s", &gradeLab);

    printf("\nCourse Code       Marks      Grade\n");
    printf("CCS001             %d         %s \n", marksComm, gradeComm);
    printf("CCS009             %d         %s \n", marksEco, gradeEco);
    printf("CSC111             %d         %s \n", marksCompsys, gradeCompsys);
    printf("CSC112             %d         %s \n", marksProg, gradeProg);
    printf("CSC113             %d         %s \n", marksDis, gradeDis);
    printf("CSC115             %d         %s \n", marksLab, gradeLab);
    printf("CSC126             %d         %s \n", marksPhy, gradePhy);
}

你的数组小了两个。 C 字符串以 NUL 结尾,因此您需要一个 char 作为字母,一个字符作为 NUL。那是两个 char。但是你保留 space 一个。