-3 c
在第18行,我在第一次迭代(i = 0)中得到一个seg错误.
#include <stdio.h>
int main(void) {
char* str = "mono";
int length = 0;
int i;
for (i = 0; ; i++) {
if (str[i] == '\0') {
break;
} else {
length++;
}
}
for (i = 0; i < length / 2; i++) {
char temp = str[length - i - 1];
str[length - i - 1] = str[i]; // line 18
str[i] = temp;
}
printf("%s", str);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我写这个算法来反转一个字符串.
您正在修改字符串文字:
char* str = "mono";
Run Code Online (Sandbox Code Playgroud)
和字符串文字在C中是不可修改的.
要解决您的问题,请使用由字符串文字初始化的数组:
char str[] = "mono";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |