其他分享
首页 > 其他分享> > 指针 再理解

指针 再理解

作者:互联网

本文写于 2019-12-05 23:37

有题如下:修改代码,使其用物种方法输出China

main()
{
    int i = 0;
    char str[6] = {'C', 'h', 'i', 'n', 'a', '\0'}, str1[6] , *ptr, *ptr1, *ptr2 , str2[5];
    while (str[i] != '\0')
    {
        putchar(*str);
        str++;
    }
    scanf("%s", ptr);
    puts(ptr);
    ptr1 = str;
    puts(ptr1);
    ptr2 = "China";
    puts(ptr2);
    str2 = "China";
    printf("%s", str2);
}

 

答案如下:

#include <stdio.h>
 
main()
{                       
    int i = 0;
    char str[6] = {'C', 'h', 'i', 'n', 'a', '\0'}, str1[6] , *ptr, *ptr1, *ptr2 , str2[6];
    while (str[i] != '\0')
    {                       
        putchar(str[i]);
        i++;
    }
    ptr = str1;
    scanf("%s", ptr);
    puts(ptr);
    ptr1 = str;
    puts(ptr1);
    ptr2 = "China";
    puts(ptr2);
    strcpy(str2, "China");
    printf("%s", str2);
}          

其中:C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest

这个题做的时候问题在于,,我没有 想把str换成i,而是想用指针把字符串str[6]输出。然后想起一个问题。

对指针所指变量操作和操作指针地址怎么写呢。*str++;这个语句是报错的。str++;也是有问题的。但是*str= *str+1;这是不会报错的。但是网上有人给了 *str++这样的代码。

✖ ✖

标签:puts,str2,ptr2,ptr1,理解,str,ptr,指针
来源: https://www.cnblogs.com/dosu/p/11992823.html