精华内容
下载资源
问答
  •   一、字符串输入输出函数 ... 可以将整个字符串一次性输入,但是,cin将空格、Tab和回车键,因此能用于数组的一次性输入。    注意:cin和cout  都可以用于字符串整体输入输出
    <div id="cnblogs_post_body"><p align="center"><strong>&nbsp;</strong></p>
    <p align="left"><strong>一、</strong><strong>字符串输入输出函数</strong></p>
    <p align="left"><strong>1.&nbsp;&nbsp;</strong><strong>cin.get() &nbsp;</strong></p>
    <p>&nbsp; &nbsp; 逐个字符输入输出</p>
    <p><strong>2. &nbsp;</strong><strong>cin</strong></p>
    <p>&nbsp; &nbsp; 可以将整个字符串一次性输入,但是,cin将空格、Tab和回车键,因此不能用于数组的一次性输入。</p>
    <p>&nbsp; &nbsp;注意:cin和cout &nbsp;都可以用于字符串整体输入输出,无须像cin.get()函数那样只能逐个字符输入,但是</p>
    <p>&nbsp; &nbsp;cin 不可以输入空格,而cout可以输出空格。</p>
    <p><strong>3. cin.getline() </strong></p>
    <p>&nbsp; &nbsp; 接收一个字符串,可以接收空格并输出,遇到回车键结束。</p>
    <div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
    <pre><span style="font-size: 18px; font-family: &quot;times new roman&quot;, times"><span style="color: #008080"> 1</span> #include &lt;iostream&gt;
    <span style="color: #008080"> 2</span>
    <span style="color: #008080"> 3</span> <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span><span style="color: #000000"> std;
    </span><span style="color: #008080"> 4</span>
    <span style="color: #008080"> 5</span> <span style="color: #000000">main ()
    </span><span style="color: #008080"> 6</span>
    <span style="color: #008080"> 7</span> <span style="color: #000000">{
    </span><span style="color: #008080"> 8</span>
    <span style="color: #008080"> 9</span> <span style="color: #0000ff">char</span> m[<span style="color: #800080">20</span><span style="color: #000000">];
    </span><span style="color: #008080">10</span>
    <span style="color: #008080">11</span> cin.getline(m,<span style="color: #800080">5</span><span style="color: #000000">);
    </span><span style="color: #008080">12</span>
    <span style="color: #008080">13</span> cout&lt;&lt;m&lt;&lt;<span style="color: #000000">endl;
    </span><span style="color: #008080">14</span>
    <span style="color: #008080">15</span> }</span></pre>
    <div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" οnclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
    <p>&nbsp;</p>
    <p style="margin-left: 30px">&nbsp;</p>
    <p style="margin-left: 30px">输入:jkljkljkl</p>
    <p style="margin-left: 30px">输出:jklj</p>
    <p><strong>&nbsp; &nbsp; &nbsp; &nbsp;注意:</strong>接收5个字符到m中,其中最后一个自动添加为'\0',所以只看到4个字符输出;</p>
    <p>&nbsp;</p>
    <p style="margin-left: 30px">如果把5改成20:</p>
    <p style="margin-left: 30px">输入:jkljkljkl</p>
    <p style="margin-left: 30px">输出:jkljkljkl</p>
    <p>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;输入:jklf fjlsjf fjsdklf</p>
    <p style="margin-left: 30px">输出:jklf fjlsjf fjsdklf</p>
    <p>&nbsp;</p>
    <p style="margin-left: 30px"><strong>延伸:</strong></p>
    <p style="margin-left: 30px">1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)。</p>
    <p style="margin-left: 30px">2、当第三个参数省略时,系统默认为'\0'。</p>
    <p style="margin-left: 30px">3、如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk。</p>
    <p align="left"><strong>4. &nbsp;getline()</strong></p>
    <p style="margin-left: 30px" align="left">接收一个字符串,可以接收空格并输出,需包含“#include&lt;string&gt;”,遇到回车键结束。</p>
    <p style="margin-left: 30px" align="left">#include&lt;iostream&gt;</p>
    <p style="margin-left: 30px" align="left">#include&lt;string&gt;</p>
    <p style="margin-left: 30px" align="left">using namespace std;</p>
    <p style="margin-left: 30px" align="left">main ()</p>
    <p style="margin-left: 30px" align="left">{</p>
    <p style="margin-left: 30px" align="left">string str;<br>
    getline(cin,str);<br>
    cout&lt;&lt;str&lt;&lt;endl;<br>
    }</p>
    <p style="margin-left: 30px" align="left">输入:jkljkljkl<br>
    输出:jkljkljkl</p>
    <p style="margin-left: 30px" align="left">输入:jkl
    jfksldfj jklsjfl<br>
    输出:jkl jfksldfj jklsjfl</p>
    <p><strong>5.
    gets_s</strong><strong>和</strong><strong>puts</strong><strong>函数</strong>&nbsp;&nbsp; </p>
    <p style="margin-left: 30px">在新的C++标准中,原来的gets函数现在已经改成了gets_s。</p>
    <p>(1)gets_s函数:输入一个字符串到字符数组中,可以输入空格和Tab,但是不能输入回车键。输入完成后,在结尾自动添加空字符。</p>
    <p style="margin-left: 30px">char
    str[80];</p>
    <p style="margin-left: 30px">gets_s(str);</p>
    <p>(2)puts_s函数输出一个字符串,但是不包含空字符,但在新的C++标准中,也能输出空字符。</p>
    <p style="margin-left: 30px">&nbsp;char str[80]=”programme”;</p>
    <p style="margin-left: 30px">&nbsp;puts_s(str);</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p><strong>二、</strong><strong>C++</strong><strong>字符串中空格,空字符的区别</strong></p>
    <p>(1)空格的ASCII码为32,赋值语句为:</p>
    <p style="margin-left: 30px">&nbsp;&nbsp;&nbsp; char a=’ ‘; 或者char
    a=32;</p>
    <p>(2)\0表示结束符,一般在字符串的最后是结束字符,ASCII码为0。一般字符串输出函数遇到空字符就停止输出。</p>
    <p>&nbsp;</p>
    <p><strong>三.
    </strong><strong>字符变量赋值和字符串初始化</strong></p>
    <p>&nbsp; (1)字符变量赋值用单引号
    ‘’或者直接用ASCII码;</p>
    <p>&nbsp; (2)字符串赋值用双引号</p>
    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char a[10]=”abcd”;</p>
    <p>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;或者char
    a[4]={‘a’,’b’,’c’,’d’};</p>
    <p>理解记忆:字符变量或者字符串中的元素如a[3],里面存储的是ASCII值,而不是字符,因为计算机存储的其实都是数字。单引号‘’表示取引号内的ASCII值。双引号表示文本。 &nbsp;</p>
    <p>&nbsp;</p>
    <p><strong>&nbsp; &nbsp; &nbsp; 注:本文有部分内容来自于网上网友的博客,在此向他们表示感谢。</strong></p>
    <p>&nbsp; &nbsp;&nbsp;</p>
    <p>&nbsp;</p>
    <p align="center"><strong>&nbsp;</strong></p>
    <p align="center">&nbsp;</p></div>
    展开全文
  • C++字符串数组初始化 string array[3]={{"li"},{"zhang"},{"wang"}} 读者在使用字符串数组时应该注意以下几点: 在一个字符串数组中包含若干个元素,每个元素相当于一个字符串变量。 并要求每个字符串元素具有...

    C++字符串数组定义

    在C++中不仅可以用string定义字符串变量,也可以用string定义字符串数组。

    string array[3];
    

    表示定义一个字符串数组,这个数组包含3个字符串元素。

    C++字符串数组初始化

    string array[3]={{"li"},{"zhang"},{"wang"}}
    

    读者在使用字符串数组时应该注意以下几点:

    在一个字符串数组中包含若干个元素,每个元素相当于一个字符串变量。

    并不要求每个字符串元素具有相同的长度,即使对同一个元素而言,它的长度也是可以变化的,当向某一个元素重新赋值,其长度就可能发生变化。

    在字符串数组的每一个元素中存放一个字符串,而不是一个字符,这是字符串数组与字符数组 的区别。

    如果用字符数组存放字符串,一个元素只能存放一个字符,用一个一维字符数组存放一个字符串。

    每一个字符串元素中只包含字符串本身的字符,而不包括\0,用字符串数组存放字符串以及对字符串进行处理是很方便的。

    在C++中定义字符串数组时,编译系统为每一个字符串变量分配4个字节,在存储单元中,并不是直接存放字符串本身,而是存放字符串的地址。

    经典案例:C++实现用字符串数组输出。

    #include<iostream>//预处理
    #include<string> //引入string 
    using namespace std;//命名空间 
    int main()//主函数 
    {
      string array[3]={{"zhangsan"},{"lisi"},{"wangwu"}};//定义字符串数组 
      for(int i=0;i<3;i++)//for循环 
      {
        cout<<array[i]<<endl;//挨个输出字符串变量的值 
      }
      return 0; //函数返回值为0;
    }
    

    执行本程序之后,会输出:

    zhangsan
    lisi
    wangwu
    
    --------------------------------
    Process exited after 1.425 seconds with return value 0
    请按任意键继续. . .
    

    C++字符串数组输出

    更多案例可以go公众号:C语言入门到精通

    展开全文
  • c语言字符串初始化 指定长度,没有0结束符。 char c1[] = { 'a','b','c'}; printf("c1 = %s\nsizeof c1 = %d", c1, sizeof(c1)); v //输出结果: //c1 = abc烫烫蘦 ? 鲝 、 //sizeof c1 = 3 指定长度...

    c语言字符串的初始化

    • 不指定长度,没有0结束符。

      char c1[] = { 'a','b','c'}; 
      printf("c1 = %s\nsizeof c1 = %d", c1, sizeof(c1)); 
       //输出结果:
       //c1 = abc烫烫蘦? 鲝 、
       //sizeof c1 = 3
      
    • 指定长度,后面没有赋值的元素,自动补数字0(结束符)

      char ch1[100] = { 'h','e','l','l','o' };
      char ch2[100] = { "hello" };
      printf("ch1 = %s\n", ch1);
      printf("ch2 = %s\n", ch2);
      
      //输出结果:
      //ch1 = hello
      //ch2 = hello
      
    • 使用字符串初始化,编译器自动在后面补0

      char ch1[] = "agjdslgjlsdjg";
      printf("ch1 = %s\n", ch1);
      //输出结果:
      //ch1 = agjdslgjlsdjg
      
    • 使用 数字0 或者 ‘\0‘ 作为结束符终止输出

      char ch1[50] = { '1', 'a', 'b', 0, '7' };
      printf("ch1 = %s\n", ch1);
      //输出结果:
      //ch1 = 1ab
      
      char ch2[50] = { '1', 'a', 'b', '\0', '7' };
      printf("ch2 = %s\n", ch2);
      //输出结果:
      //ch1 = 1ab
      
      //使用0终止输出的错误用法
      char ch4[] = "ab0c";//这里的0不是终止符,输出ab0c
      char ch3[50] = { '1', 'a', 'b', '0', '7' };//里的0不是终止符,输出1ab07
      char ch4[2] = { '1', '2', '3', '/0' };//数组越界
      
    • 注意:’\0’后面最好不要连着数字

      '\ddd’八进制字义字符

      '\xdd’十六进制转移字符

      \012相当于\n

      例如:

      char str[] = "\012abc";
      printf("str == %s\n", str);
      //输出结果:
      //str ==(注意这里有一个\n换行符号) 
      //abc
      
    展开全文
  • 题目是输入一个字符串,以单词为单位,以空格、逗号或句号为间隔,将字符串倒序输出包含标点符号)。 例如: 输入:hello world 输出:world hello 输入:hello,I am Tom. 输出...
  • 而字符数组可以用字符串进行初始化,但能用字符串对其进行随时赋值(但此时可以定义一个字符串指针指向字符数组,然后用字符串对指针随时赋值) 如 char*p="helloword"; p="你好"; 可以char a[10]="helllo";但...

    一字符数组和字符指针:

    字符指针可以用字符串对其直接初始化和随时赋值;而字符数组可以用字符串进行初始化,但不能用字符串对其进行随时赋值(但此时可以定义一个字符串指针指向字符数组,然后用字符串对指针随时赋值)

    如 char*p="helloword"; p="你好";

    可以char a[10]="helllo";但不能随时赋值a="word";此时可以char*p=a;   p="word"

    二C51的格式化控制符扩展 :

    KEIL里扩展出了b,h,l来对输入字节宽的设置: 
    b表示8位;h表示16位;l表示32位
    所以unsigned char tmp=0x02;sprintf(p,"%02bd",tmp);将输出“02”,如果不加b将出错。

     

    转载于:https://www.cnblogs.com/jieruishu/p/6711482.html

    展开全文
  • ``` #include #include #include //#include<iterator> ...还有s的长度应该是4吗,还有最后一个空字符'\0'? ![图片说明](https://img-ask.csdn.net/upload/202010/07/1602059011_914933.png)
  • 一个为null的字符串被println出来会是什么呢。 public static void main(String[] args) { ...输出是“nullaaaa” 这是为什么呢,String未被初始化可能成为“null”的,因为它是null的。 翻看了一下PrintStream,
  • #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { ... printf("strlen(a) = %d\n", strlen(a));...运行后,发现结果,输出确定。 strlen在计算数...
  • 需要一些json字符串来作为接口入参或者返回值,以前都是要手动地创建一个对象,并对属性赋值后再通过阿里的fastjson输出的,挺麻烦的,后面想了想能能只需要Class类就能够产生json字符串,之前也在swagger2的一个...
  • 5.3字符数组&字符串

    2020-06-30 10:30:50
    特殊的字符数组初始化方式(字符串) 字符数组的引用 字符数组的输入输出 格式声明 字符串 字符串的定义初始化 字符串处理函数 1. puts——输出字符串函数 2. gets——输入字符串函数 3. strcat——字符串...
  • 1,输人:字符串”123456“输出:”654321“。注意:字符数组等于字符...比如 初始化字符串 char ch[7]={‘1′,’2′,’3′,’4′,’5′,’6′,’\0’}。代码如下:#include#include#include#define MAXSIZE 100vo...
  • 两个字符串都以第一个字母初始化. (这样我们就可以随时阅读他们的最后一封信.)>然后遍历输入字符串s(从第二个字符开始).>如果当前字符c满足要求c> = current [-1],则将其添加到当前解决方案中.>我们可能...
  • 字符串分隔

    2020-03-14 12:20:33
    •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 解题关键: 两次获取用户输入的方法 初始化数组的...
  • //OC字符串不能用printf输出 //但是遗憾的是OC没有一个从终端读取数据的方式,需要使用scanf读取C字符串然后转换成OC的字符串 #pragma mark 字符初始化 //创建一个可变字符串str1 值是常量字符串 //打印字符...
  • #输出 1~100 之间能被 7 整除的数 j = 0 # 定义 计数变量为 j,初始值为1for i in range(1,101): # 遍历1-100取值,定义...= 0: # 找出能被 7 整除的数 print("{:3d}".format(i),end=' ') # Format格式化输出 ...
  • 定义一个字符数组char s[80],从键盘上输入一个字符串超过40个字符),用gets()函数存入到s中,然后统计并输出其中的大写字母、小写字母、数字字符及其他字符的个数。 如输入 ATTENTION! My E-mail address ...
  • 1.字符串的比较用equal,否则实现了想要的效果在main中用了没事???2.java数组初始化长度后只用到几个,想要输出这几个的值,总是出现nullpointer问题for(int j = 0 ; ;j++){ if(allcourse[j].equals(null)) ...
  • 字符串就是字符数组,常见的定义有这几种格式1.charc='c';...改进初始化charstr[3]={"abc"};3.数组元素个数写,会根据真实大小来默认分配charstr[]={"abc"};4.字符串写法char*str="hellow world";printf("%s\...
  • C++ 字符数组初始化

    2013-06-13 16:46:01
    (1) 逐个字符输入输出,不会在后面自动加\0结束符,需要记录数组长度,对应初始化的例子: const int N=8; char ch[N]={'a','b','c','d','e','f','g','k'}; 此时不会在其后加\0,输出需要单个字符输出,否则找...
  • C++——字符串处理

    2019-10-03 15:02:22
    字符串数组的初始化: 逐个输出输入字符串; 将整个字符串一次输入输出输出字符包含\0; 输出字符串时用数组名,遇到\0结束; 输入多个字符串以空格分隔,输入单个字符串时期中能有空格...
  • 字符串01

    2020-03-21 21:06:16
    题目 找出字符串中第一个只出现一次的字符 输入描述: 输入一个非空字符串 输出描述: 输出第一个只出现一次的字符,如果存在输出-1 示例1 ...输出 ...//记得初始化的API,自己写一个 void I...
  • 如果初始化时初值个数大于数组数组长度,则会报错,如果等于,则能正常输出,如果小于,系统会为剩余元素自动赋值为 '\0' 1:字符串与指针的关系 char a[5]={'A','B','C','D','E'}; 会导致正常输出 因为没有...
  • 1.字符串长度问题。 字符串在内存中存储是以‘\0’结尾。 假设代码如下: #include <stdio.h> pragma warning(disable:4996) ...程序报错,E0144:"const char[6]"类型的值能用于初始化char...
  • 字符串和随机数

    2019-11-17 18:42:05
    C语言没有字符串类型,要用字符数组来模拟。char类型产生字符串,它本身只有一个字节,一个字符就是一个字节,哪来的...字符串数组的初始化 错误初始化: char a[]={'a','b','c'}; 看输出: ./a.out a = ab...
  • 2、初始化字符数组,例如:(花括号必须) char str[]={"I am Happy!"}; char str[]="I am Happy!"; 3、字符串的输入和输出 4、数组名可以赋值给同类型的指针变量   /* *copyright...
  • 字符串逆置算法

    千次阅读 2015-09-08 20:22:42
    1,输人:字符串”123456“  输出:”654321“。  注意:字符数组等于字符串,只有当字符数组结尾...比如 初始化字符串 char ch[7]={'1','2','3','4','5','6','\0'}。  代码如下:   #include #inclu
  • 采用数组的方式,定义一个可以存放256个字符的数组(ASCII最多包含256个字符),先将数组初始化1,然后开始进行遍历输入字符串,第一次遇到就将其输出,并将数组中的字符值改为0。 二、在线oj,输入输出 对于&...
  • 定义指针数组name,用各字符串对它进行初始化(即把各字符串中的第1个字符的地址赋给指针数组的各个元素) 使用选择法进行排序,移动字符串,而是改变指针数组各个元素的指向 代码如下: //对字符串排序,...
  • 定义指针数组name,用各字符串对它进行初始化(即把各字符串中的第1个字符的地址赋给指针数组的各个元素) 使用选择法进行排序,移动字符串,而是改变指针数组各个元素的指向 代码如下: //对字符串排序,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 785
精华内容 314
关键字:

不初始化字符串输出