c - 在 C 中访问字符指针字符串中的特定字符

标签 c

我正在使用 scanf 读取字符串并将其放入 char* 中。

scanf("%s", &str);
printf("%c",str);

它工作正常,但我不知道如何像使用 char[] 那样访问该字符串中的特定字符。我一直在尝试增加地址:

str += 1;

我已经搞乱了一点,但我得到的只是第一个字符或段错误或总线错误。是否可以使用该字符串而不复制到 char[] 中?

最佳答案

1)

  It works fine but I don't know how to access a specific character in that string as I would with a char[]

只需使用 [] 取消引用指针数组并访问位置“i”处的字符

str[i]

2)

I have been messing around a bit but all I get is the first character or segfaults or bus errors

是的 - 数组名本身是指向字符串第一个字符的指针

关于c - 在 C 中访问字符指针字符串中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591527/

相关文章:

在 Netbeans IDE 6.9.1 中编译 C 代码

c - 正则表达式 - 获取字符串的每个部分(除了中间部分)

c - Switch 语句执行不止一种情况 - C 编程

c - 重新声明全局变量与局部变量

c++ - 从文件 : C to C++ 读取

c - 可变限制

c - C 编程简介 - [期末考试示例] 回文函数

c - 列表 ADT - 如何释放结构指针及其成员?

c - 访问动态分配数组的越界元素/w/o SegFault

c++ - 如何让 emacs 节奏模式与 C/C++ 的缩写一起工作?