C语言创建元素值等于下标的整型数组 打印显示具体索引值
C语言创建索引值匹配的数组及打印格式修正方案
固定100元素数组实现方法
要创建长度为100、每个元素值等于对应索引的整型数组,直接静态声明数组后循环赋值即可,示例代码:
#include <stdio.h> int main(void) { int s[100]; for (int i = 0; i < 100; i++) { s[i] = i; printf("s[%d] = %d\n", i, s[i]); } return 0; }
动态长度代码的问题修正
当前代码的核心问题是printf的格式化字符串写死了i字符,C语言不会自动解析字符串内的变量名,导致输出始终显示s[i],只需要调整printf的占位符和传入参数即可,修正后完整代码:
#include <stdio.h> #include <cs50.h> int main(void) { int length = get_int("How many arrays do you need? "); int s[length]; for (int i = 0; i < length; i++) { s[i] = i; // 第一个%d替换为实际索引值,第二个%d替换为对应元素值 printf("s[%d] = %d\n", i, s[i]); } return 0; }
关键修改说明
- 把格式化字符串里固定的
[i]改为[%d],让索引位置可以接收动态传入的变量值 - printf需要传入两个参数匹配两个
%d占位符:第一个是循环变量i(实际索引),第二个是s[i](对应位置的数组元素值),逻辑更严谨 - 补充
return 0;符合C语言main函数的规范写法,原输入提示里的arrys为拼写错误,正确拼写为arrays,不影响功能运行可按需修改。
内容的提问来源于stack exchange,提问作者Khaled Ahmed Abd-ELraoof Emam
相关产品推荐
相关产品推荐

