编译C代码时出现「Data argument not used by format string」错误求助
解决「Data argument not used by format string」编译错误
错误原因
你标记的那行printf代码存在问题:
printf("1번째 학생 성적 입력\n", i+1);
这里你给printf传递了第二个参数i+1,但格式字符串里没有对应的占位符(如%d)来使用这个参数,编译器因此报错提示数据参数未被格式字符串利用。
修正方案
在格式字符串中添加%d占位符,替换掉固定的“1”,让i+1的值能动态显示当前学生序号:
#include <stdio.h> int main(void) { int kor[3], eng[3]; int i; for(i=0;i<3;i++){ printf("%d번째 학생 성적 입력\n", i+1); // 已修正 printf("국어 : "); scanf("%d",&kor[i]); printf("\n영어 : "); scanf("%d",&eng[i]); } printf("=== 학생 성적 출력 ===\n"); printf("학번 국어 영어 \n"); for(i=0;i<3;i++){ printf("%d %d %d \n",i+1, kor[i], eng[i]); // 可选优化:让학번从1开始显示,符合常规逻辑 } }
内容的提问来源于stack exchange,提问作者Hohyeon Jo
相关产品推荐
相关产品推荐

