')    p2++ 上面语句的意思是,找到这个字符串的结束位置。此时,p2指向了''标志的位置,并不是字符串" /> ')    p2++ 上面语句的意思是,找到这个字符串的结束位置。此时,p2指向了''标志的位置,并不是字符串"> c语言字符串颠倒程序,请问六七行是什么意思_软件运维_内存溢出

阅读 13

c语言字符串颠倒程序,请问六七行是什么意思,第1张

六行、七行的整体意思是找到这个字符

中末尾最后一个

字符

while(*p2!='\0')

    p2++

上面语句的意思是,找到这个字符串的结束位置。此时,p2指向了'\0'标志的位置,并不是字符串的最后一个位置,还要向前退一步,即

p2-- 这样,p2所指的就是字符串的最后一个字符。错误1:

题目

要求输入字符数小于255,而数组只开了254,忽略了'\0'符号,应改为255数组

错误2: 题目所说的字符串可能包含空格,但是用std::cin输入字符串,空格后的字符串将丢失,应改为std::cin.get()函数或std::cin.getline()函数输入;

错误3:题目要求输入字符串,没有说只包括字母,也许还有其他字符,如标点符号等等。

综上所述,修改代码:

#include <iostream>

#include <cstring>

int main()

{

    char str[255] = {0}

    char t = 0

    std::cin.getline(str, 255)

    

    for(int i = 0, j = strlen(str) - 1 i < j ++i, --j)

    {

        t = str[i]

        str[i] = str[j]

        str[j] = t

    }

    

    std::cout << str << '\n'


    return 0

}

欢迎分享,转载请注明来源:内存溢出

原文地址:
http://outofmemory.cn/yw/11284253.html错误
位置
(0) 微信扫一扫 打赏 支付宝扫一扫 微信扫一扫
支付宝扫一扫
电池容量计算 电池容量计算
数控弯管程序如何调试
上一篇
2023-05-15
用c语言制作名片格式
2023-05-15

发表评论 后才能评论
提交

评论列表(0条)

2022-4-12

热舞
汉办
保存{label} {label} {label} {label}