int Finalscore; Finalscore = q1w+q2w+q3w+q4w+mIDiw+mIDiiw+finalw;// Determine the letter Gradeif (Finalscore>=0 && Finalscore <= 59){ char LetterGrade[20]; strcpy(LetterGrade,"F");}if(Finalscore>=60 && Finalscore <=69){ char LetterGrade[20]; strcpy(LetterGrade,"D");}if(Finalscore>=70 && Finalscore <=79){ char LetterGrade[20]; strcpy(LetterGrade,"C");}if(Finalscore>=80 && Finalscore <=89){ char LetterGrade[20]; strcpy(LetterGrade,"B");}if(Finalscore>=90 ){ char LetterGrade[20]; strcpy(LetterGrade,"A");}printf("%s",&LetterGrade);
任何想法为什么我得到null?谢谢.
解决方法 我没有看到任何创建字符串(char [20])的实用程序,而不是简单的char,因为它最终只会有一个字符.我写了 code似乎工作得很好.您的代码的问题在于,如果在范围内声明LetterGrade,那么,当您尝试打印它时,它已经超出了范围,正如我在评论中提到的那样.
很重要!正如@Jite,在他的评论中提到的,请注意printf中的%c格式说明符而不是%s.
我希望这符合你的需求.
#include <stdio.h>int main(){ int Finalscore = 60; char LetterGrade; // Determine the letter Grade if(Finalscore>=0 && Finalscore <= 59) LetterGrade = 'F'; else if(Finalscore>=60 && Finalscore <=69) LetterGrade = 'D'; else if(Finalscore>=70 && Finalscore <=79) LetterGrade = 'C'; else if(Finalscore>=80 && Finalscore <=89) LetterGrade = 'B'; else LetterGrade = 'A'; printf("%c",LetterGrade); return 0;}总结
以上是内存溢出为你收集整理的在C中分配一封信全部内容,希望文章能够帮你解决在C中分配一封信所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)