一个修改c语言字符串的值的问题,改变每一个字符,给ASCII码加上一定数值..试了好几次都没成功...
(注:这里的字符串必须要用char * 且事先无法知道长度 最好也不能包含string头文件)
这是自己测试时候的代码:
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
char* a = "1234";
while(*a!='\0'){
//这里修改字符串的字符的值,给每一个字符的ASCII码加上一定数值
printf("%c\n",*a);
a=a+1;
}
//希望这个时候变成比如 "3456" 或者 "abcd" 或者这类..
return 0;
}
应该算是简单的问题...这里我自我检讨基础不好...
请了解的朋友看看, 谢谢
으아아아
C 언어 문자열은 상수이므로 수정할 수 없습니다. 문자 배열을 통해 의도를 달성할 수 있습니다.
으아아아
으아아아char* a = "1234";
여기 문자열의 내용은 리터럴 상수 영역에 저장되며 변경할 수 없습니다.char a[] = "1234";
여기 문자열은 스택에서 변경할 수 있습니다나도 추가할게요
const char *a = "1234";
은 이런 종류의...
다른 @garfileo @Fallenwood 님도 아주 잘 말씀하셨습니다