由于一些奇怪的原因,当我在标记部分输入值时,打印的值都是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
。但是你为一个人留了位子。