c语言字符串怎么打印长度

推荐 科技 2021-02-09 01:44:28 1745

本文收集整理关于c语言字符串怎么打印长度的相关议题,使用内容导航快速到达。

内容导航:

  • C语言怎么控制字符串的输出长度
  • c语言如何求字符串长度?
  • C语言中将字符串打印成指定长度的方法
  • c语言字符串长度
  • Q1:C语言怎么控制字符串的输出长度

    数组 数组最后一个加‘\0’ 还有个gets()直接获取字符串 长度为strlen()

    Q2:c语言如何求字符串长度?

    你的代码出现问题的原因是scanf("%s",&a);

    ,a是一个char类型的变量,系统为它分配了一个字节的内存空间,但是你却输入了一个字符串到以a的地址为首地址的一段连续的内存空间里,这样就出现了越界错误.但是printf函数并不检查越界错误,它会按正常的方法执行,然后程序统计出长度,打印出来结果.但是返回到调用main函数的操作系统后,系统会发现越界错误,所以在结果显示出来后才出错.至于你说的输入5个以下不会出错,也许是偶然,也许跟你的编译器有关.我用VS2005测试,只要输入就会出错。

    如果你是只想求出输入的字符串的长度而不要求保存输入的字符串,下面的代码更好。你的标准输入缓冲区有多大,那么它就可以求出多长的字符串的长度,不会有越界。

    #include

    int

    main()

    {

    int

    len=0;

    //getchar()函数从标准输入设备(即键盘)接收一个字符,返回该字符的ASCII码.因为回车被输入时被转换成换行符(LF,ASCII码为10),所以getchar()返回10时就知道输入结束了.

    while(getchar()!=10)

    len++;

    printf("It's

    length

    is

    %d.\n",len);

    return

    0;

    }

    Q3:C语言中将字符串打印成指定长度的方法

    如果要按表格形式打印一组字符串,你就需要将字符串打印成指定长度。利用printf()函数可以很方便地实现这一点,请看下例: # include char * data[25] = { "REGION", "--Q1--", "--Q2--", "--Q3--", "--Q4--", "North" , "10090. 50" , "12200. 10" , "26653.12" , "62634. 32" , "South", "21662.37", "95843.23", "23788.23", "48279.28", "East", "23889.38", "23789.05", "89432.84", "29874.48", "West", "85933.82", "74373.23", "78457.23", "28799.84" }; void main (void) ; void main (void) { int x; fox (x = 0, x<25; x+ + ) { if ((x % 5) == 0&&(x !=0)) printf("\n"); printf (" %-10. 10s" , data[x]) ; } } 在上例中,字符串数组char *data[]中包含了某年4个地区的销售数据。显然,你会要求按表格形式打印这些数据,而不是一个挨一个地毫无格式地打印这些数据。因此,上例中用下述语句来打印这些数据: printf("%-10.10s",data[x]);参数"%-10.10s"指示printf()函数按10个字符的长度打印一个字符串。在缺省情况下,printf()函数按右对齐格式打印字符串,但是,在第一个10的前面加上减号(-)后,prinft()函数,就会使字符串左对齐。为此,printf()函数会在字符串的尾部加入空格,以使其长度达到10个字符。上例的打印输出非常整洁,类似于一张表格,如下所示: REGION --Q1-- --Q2-- --Q3-- --Q4-- North 10090.50 12200.10 26653.12 62634.32 SOuth 21662.37 95843.23 23788.23 48279.28 East 23889.38 23789.05 89432.84 29874.48 West 85933.82 74373.23 78457.23 28799.84

    Q4:c语言字符串长度

    sprintf(a,"%2.2s",a);中第一个2表示最终生成的字符串不超过2个字符,如果超出了最后一位用字符串结束符填充,第二个2表示在后面的字符串中最多去2个字符,所以该语句最终结果会把前面赋好的a的第一个字符以及一个字符串结束符赋值到第一个a中,即最终结果是a中有一个字符和一个字符串结束符 printf("%s",a);打印的结束条件是字符串结束符,而a相当于一个指针,所以该语句打印从地址a开始的所有字符,直到遇到字符串结束符位置,即结果不确定。而当设置2.2之后,如前面分析,回添加一个字符串结束符,所以就不会超出2位了

    相关文章
    怎么培养孩子的语言表达能力2018-09-14
    世界最难学的三大语言2018-10-29
    如何提高自己的语言表达能力2019-01-12
    c语言函数的定义和声明2019-01-12
    怎样提高自己的语言表达能力2019-01-13
    怎么提高自己的语言表达能力2019-01-13
    网站测试用什么语言2019-01-13
    如何提高语言组织表达能力2019-01-15
    怎样能提高语言表达能力2019-01-16
    c语言字符串输出一部分2019-01-22