Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将SCANF与指向数组的指针一起使用?_C++_Pointers - Fatal编程技术网

C++ 如何将SCANF与指向数组的指针一起使用?

C++ 如何将SCANF与指向数组的指针一起使用?,c++,pointers,C++,Pointers,编写一个程序,接受用户输入的C字符串,并反转该字符串的内容。您的程序应该通过使用两个指针来工作。“头”指针应设置为字符串中第一个字符的地址,“尾”指针应设置为字符串中最后一个字符的地址(即,终止null之前的字符)。程序应该交换这些指针引用的字符,递增“head”以指向下一个字符,递减“tail”以指向倒数第二个字符,依此类推,直到所有字符都被交换,整个字符串被反转。 预期行为: 输入输入文本 大家好 赛格·奥利 这是任务任务。 这是我的代码: #include <iostream>

编写一个程序,接受用户输入的C字符串,并反转该字符串的内容。您的程序应该通过使用两个指针来工作。“头”指针应设置为字符串中第一个字符的地址,“尾”指针应设置为字符串中最后一个字符的地址(即,终止null之前的字符)。程序应该交换这些指针引用的字符,递增“head”以指向下一个字符,递减“tail”以指向倒数第二个字符,依此类推,直到所有字符都被交换,整个字符串被反转。 预期行为: 输入输入文本 大家好 赛格·奥利

这是任务任务。 这是我的代码:

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int main()
{
    char inp_str[50];
    char* hl;
    char *tl;
    cout<<"Enter string ";
    scanf("%s",inp_str);
    hl=&inp_str[0];
    tl=strchr(inp_str,'\0')-1;
    for (hl; hl <= tl; hl++){
        for(tl;tl>= hl;tl--) {
            char temp_val;
            temp_val=*hl;
            *hl=*tl;
            *tl=temp_val;
        }
    }
    cout<<inp_str;
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
charinp_str[50];
char*hl;
char*tl;

cout数组名是指向数组(第一个元素)的指针

您的主要错误是使用了两个循环,而您本应该只使用一个循环

不是

(hl;hl=hl;tl--)的

{
字符温度;
温度_val=*hl;
*hl=*tl;
*tl=温度;
}
}
但是


<代码> >(HL UH)-为什么你想在C++程序中使用SCANFF()和字符数组???如果你坚持这样做,正确的语法将是“代码> SCANF(“%s”,in pPistr);< /Cord>(没有操作符和地址)。
"expression result unused [-Wunused-value]" for tl in for(tl;tl>= hl;tl--) and hl in for (hl; hl <= tl; hl++).
scanf("%s", inp_str);
for (hl; hl <= tl; hl++){
    for(tl;tl>= hl;tl--)
{
    char temp_val;
    temp_val=*hl;
    *hl=*tl;
    *tl=temp_val;
}
}
for (; hl <= tl; hl++, tl--)
{
    char temp_val;
    temp_val=*hl;
    *hl=*tl;
    *tl=temp_val;
}