C语言字符数组赋值后值异常(ASCII码显示)问题求助
问题分析与解决
- 你遇到的不是赋值异常,而是输出方式错误导致的误解:字符'1'在内存中存储的就是ASCII码值49,'2'对应50,赋值操作本身是正确的。至于"字符'10'",其实是你输入的两个独立字符'1'和'0',取第一个元素时自然还是'1'(对应ASCII49)。
- 解决方法:如果要打印出字符本身,输出时使用
%c格式符,而非%d。示例代码:printf("%c", Y[j]); // 此语句会输出'1'、'2'这类可见字符 - 额外提醒:你的代码里变量
i和j未初始化,实际使用时要确保它们的取值在数组下标范围内(比如X的下标0到254,Y的下标0到133),避免数组越界引发的未定义行为。
内容的提问来源于stack exchange,提问作者StepanKomis
相关产品推荐
相关产品推荐

