美文网首页
有关字符串输入输出的一题

有关字符串输入输出的一题

作者: b6aed1af4328 | 来源:发表于2016-09-21 21:38 被阅读71次

    题干为:从键盘输入一个字符串,再将其逆序输出。(如:输入abcde,输出edcba)

    解答:

    #include<stdio.h>
    int main()//只能这样了。虽然知道了字符数组指针的存在,但在具体的字符逆序输出上,还是需要具体的元素个数。 
    {
        char* c;
        int num=0;
        int i;
        printf("请输入字符个数:");
        scanf("%d",&num);
        // c="abcdef";
         scanf("%s",c);
     for(int i=num-1;i>=0;i--)
      
        {
            printf("%c",c[i]);
         }
            printf("\n");
            printf("%s",c);
            getchar();
         return 0;
    }   
    

    搜索来的有关答案:答案
    c语言中,char 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了。

    #include<stdio.h>
    int main(){
        char* str = "learn c";
        printf("%s\n", str);
        getchar();
        return 0;
    }
    

    运行结果是
    learn c

    分析

    *在char *str="learn c";中,"learn c"是长度为8的字符数组常量,其最后一个元素是'\0',而这句代码执行的结果是将str指向了"learn c"的第一个字符'l',str后面的连续内存依次存放'e','a','r','n',' ','c','\0。

    扩展

    *c语言中的字符串是用字符数组来表示的,只是c语言规定了一个字符串结束标志,即字符'\0',也就是遇到字符'\0'时,这个字符串就结束了。

    相关文章

      网友评论

          本文标题:有关字符串输入输出的一题

          本文链接:https://www.haomeiwen.com/subject/vjnaettx.html