【问题标题】:How to shift characters in a String in C?如何在C中移动字符串中的字符?
【发布时间】:2022-11-20 21:39:50
【问题描述】:

如何将字符串中的字符向右移动? 例如,我想将“Hello”的每个字母向右移动 3 次。结束字母从开头开始。所以输出应该是“lloHe”。

我试着用指针来做。但输出只是“k”。该程序只是从你好中取出“h”并将其从字母表中向右移动 3 位数字。但这不是我打算做的。你有什么建议可以给我吗?

#include <stdio.h>


int main () {
    int a[5] = {'h','e','l', 'l','o','\0'};
    char i;
    char ptr;

    ptr = a;
    printf ("%c\n",ptr+3);

    return 0;

}

【问题讨论】:

  • int a[5] 实际上有 6 个字符。您正在寻找的不是移动,而是旋转。
  • a 有 5 个字符和关于额外初始化器的警告。
  • @tilz0R 感谢您的提醒。我实际上是 c 的新手,这就是为什么我有点“迷路”的原因。你有可以转发我的网站或线程或类似的网站吗?

标签: c


【解决方案1】:

你真的想操纵数据,还是只是产生输出?你可以这样做:

#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char **argv)
{
    char a[] = {'h', 'e', 'l', 'l', 'o', '
猜你喜欢
  • 2022-01-13
  • 2013-12-13
  • 2019-04-26
  • 2021-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
相关资源
最近更新 更多