C语言遍历const char数组获取每个字符ASCII值的实现疑问
问题解答
你给出的代码存在多处错误,无法实现遍历数组获取每个字母ASCII值的需求,具体问题如下:
- 语法错误:
const char array[] = "name"语句末尾缺少C语言语句结束标识分号; - 数组索引使用错误:
array['i']中的'i'是字符字面量,对应的ASCII值固定为105,远超过你定义的数组长度,应该直接使用变量i作为索引,即array[i] - 输出格式符使用错误:
%s是字符串输出格式符,要求传入字符指针参数;如果要输出字符对应的十进制ASCII值,应该使用%d格式符,传入字符本身即可。
正确实现示例
#include <stdio.h> int main() { const char array[] = "name"; // 用sizeof(array) - 1自动计算字符串有效长度,无需硬写固定值 for (int i = 0; i < sizeof(array) - 1; i++) { printf("字符%c的ASCII值为:%d\n", array[i], array[i]); } return 0; }
运行后输出结果如下:
字符n的ASCII值为:110 字符a的ASCII值为:97 字符m的ASCII值为:109 字符e的ASCII值为:101
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

