c语言size_t数据类型输出时%zd不起作用

snleon 2016-04-01 11:14:40
#include<stdio.h>

int main(void)
{
size_t nGrades = 0;
printf("Enter the number of grades:");
scanf("%zd",&nGrades);
int grades[nGrades];
long sum = 0L;
float average = 0.0f;
printf("\nEnter the %zd grades:\n", nGrades);

//read the nunmbers to be averaged
for(size_t i = 0; i < nGrades; i++)
{
printf("%2zd> ",i + 1);
scanf("%d", &grades[i]);
sum += grades[i];
}

printf("The grades you entered are:\n");
for(size_t i = 0; i < nGrades; ++i)
{
printf("Grade[%2zd] = %3d ", i + 1, grades[i]);
if( (i+1) % 5 == 0)
printf("\n");
}

average = (float) sum/nGrades;
printf("\nAverage of the %zd grades entered is:%.2f\n", nGrades, average);
return 0;
}
...全文
1021 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙山升龙霸 2016-04-02
  • 打赏
  • 举报
回复
无符号整形 用%u,
paschen 2016-04-02
  • 打赏
  • 举报
回复
用%u
renwotao2009 2016-04-02
  • 打赏
  • 举报
回复
size_t是无符号整型,用u%

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧