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



由于一些奇怪的原因,当我在标记部分输入值时,打印的值都是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("CCS001nMarks> ");
scanf("%d", &marksComm);
printf("Grade> ");
scanf("%s", &gradeComm);
printf("nCCS009nMarks> ");
scanf("%d", &marksEco);
printf("Grade> ");
scanf("%s", &gradeEco);
printf("nCSC111nMarks> ");
scanf("%d", &marksCompsys);
printf("Grade> ");
scanf("%s", &gradeCompsys);
printf("nCSC112nMarks> ");
scanf("%d", &marksProg);
printf("Grade> ");
scanf("%s", &gradeProg);
printf("nCSC113nMarks> ");
scanf("%d", &marksDis);
printf("Grade> ");
scanf("%s", &gradeDis);
printf("nCSC126nMarks> ");
scanf("%d", &marksPhy);
printf("Grade> ");
scanf("%s", &gradePhy);
printf("nCSC115nMarks> ");
scanf("%d", &marksLab);
printf("Grade> ");
scanf("%s", &gradeLab);
printf("nCourse Code       Marks      Graden");
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字符串以空结束,因此您需要一个char作为字母,一个字符作为NUL。这是2个char。但是你为一个人留了位子。

最新更新