【发布时间】:2020-05-19 13:25:39
【问题描述】:
我正在尝试编写一个代码来更改字符数组中的字母。
大部分代码运行良好。但是,当我尝试将大写字母更改为小写字母(反之亦然)时,代码不起作用并且程序结束。
我推测是因为指针不能使用自身或类似的原因。但我无法指出正确的原因。
如果是 xy 问题,我很担心,但请理解我不想上传整个问题,因为这是我的任务,我想尽可能自己解决问题,我认为是学习程序的正确方法。
#include <stdio.h>
#include <string.h>
int main(void){
//initialize
char *ae = "sample";
// for (){}
ae[0] -= 36;//at this point, program stops
// tried ae[0] = ae[0] -36 ; *ae = *ae - 36; and so on...
printf("%c", ae[0] - 36);
}
感谢您的宝贵时间:)
【问题讨论】:
-
@user3121023 对不起,我不习惯编码术语。文字和修饰是什么意思??
-
改用
char ae[] = "sample"; -
这能回答你的问题吗? Difference between char* and char[]
标签: c arrays pointers runtime-error character