- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
#include <stdio.h>
#include <string.h>
main() {
char s[6] = "HELLO";
printf("s.len= %d,", (int)strlen(s));
char* s1 = "HELLO";
printf("s1.len= %d,", (int)strlen(s1));
int i = 0;
while (s[i] != '\0') {
if (s[i] >= 65 && s[i] <= 90)
s[i] = s[i] + 32;
++i;
}
printf("Now s =%s\n", s);
}
使用 s 但出现段错误,当我将 s
替换为 s1
时,尽管两者具有相同的长度和相同的词(“HELLO”)。
请帮助我,指出我的错误,提前谢谢。
最佳答案
char s[6] = "HELLO";
定义了一个包含六个字符的字符数组,最初初始化为五个字符 H、E、L、L、O 和一个空终止符。
char *s1 = "HELLO";
定义一个指向常量字符串文字的指针。
修改字符数组是可以的,因为数组只用常量初始化。
修改字符串文字是不可行的,因为它是一个常量,而这正是您尝试通过编写 s1[0] = 'k'
来完成的。
关于c - 使用 s 但 gettng 段错误,当我将 `s` 替换为 `s1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25854630/
我在尝试编译下面的代码时得到以下信息: preallocarray.h: In member function 'void PreallocArray::push_back(const T&)': p
#include #include main() { char s[6] = "HELLO"; printf("s.len= %d,", (int)strlen(s));
在 login.component.ts 中声明 loginObj,如下所示 public loginObj: Object = { email:'', password:'' };
我在 MacBook Pro 上的 VirtualBox VM 上安装了 Ubuntu 20.04。 按照以下说明: Ubuntu Visual Studio Code 我使用 Ubuntu 中的软件
我是一名优秀的程序员,十分优秀!