字符串,向量和数组中的易错点

	while (cin >> word){
		cout << endl;
	}
        cin>>word;

在输入Ctrl+Z后,后面的输入就都不能接受到数据了。

 
在string s;中s.empty();是意味着S为空及s==””;而不能将s=NULL;是错的。
 
在vector中注意基本是函数的调用。
 
  1. iterator 中的begin和end,
时间: 2024-07-31 00:35:09

字符串,向量和数组中的易错点的相关文章

&lt;&lt;C++ Primer&gt;&gt; 第三章 字符串, 向量和数组 术语表

术语表 第 3 章 字符串, 向量和数组 begin: 是 string 和 vector 的成员,返回指向第一个元素的迭代器.也是一个标准库函数,输入一个数字,返回指向该数字首元素的指针. ?? 缓冲区溢出(buffer overflow): 一种严重的程序故障,主要的原因是试图通过一个越界的索引访问容器内容,容器类型包括 string,vector 和 数组等. ?? C 风格字符串(C-style string): 以空字符结束的字符数组.字符串字面值是 C 风格字符串,C风格字符串容易出

javascript中获取字符串或数组中元素的索引

有些时候,我们需要知道一个字符串中字符的位置,或者一个数组中元素的位置,这是就需要对该变量进行迭代操作. 对于数组,有两个方法indexOf和findIndex() , 需要注意的是,findIndex是数组的方法,不适用于字符串 1 let arr = ['a' ,'b', 'c'] 2 let idx = arr.findIndex((item) => { 3 return item == 'b' 4 }) 5 console.log(arr.indexOf('c')); // 2 6 co

[笔试题]sizeof系列面试题中的易错之处

sizeof系列笔试题看似简单,其实如果不深入探究,很容易出错,本人就有时败在了这,特写篇博客总结一番,引以为戒. V1.0 32位和64位编译器的区别 测试代码如下: #include "stdafx.h" #include <iostream> using namespace std; int main() { //32和64位编译器区别: 除了*与long随操作系统子长变化而变化外,其他的都固定不变(32位和64相比) //32: sizeof(*)=4 sizeof

数据结构与算法-字符串输出数组中的最大值

输出数组a中的最大值及其下标 #include<stdio.h> #define N 5 int main() { int a[N],i,max,t; for(i=0;i<N;i++) scanf("%d",&a[i]); max=a[0]; //把数组的第一个数赋值给max,此时对应的下标为0 t=0; for(i=1;i<N;i++) //从数组的第二个数开始判断,max是否是最大值 if(max<a[i]){ //不是最大值,就把该值赋值给m

C# 四舍五入中一处易错点

,你没看错,四舍五入的结果 和我们期待的不太一样 Why?? 进入源码看下,注释中解释的很清楚.. 默认情况下,Math.Round()方法返回的是最接近的整数,这个没问题,问题是当要转换的数据在 两个整数之间时即 0.5时,这个方法默认会返回两个整数中的偶数,并不是我们认为的0.5就进位 如果我们需要实现四舍五入 我们看它的几个重载方法 其中 这个方法的参数MidpointRounding枚举 参数给出了当数据是两个整数之间的数值时,如果取整数 其中第二个,会舍入较小的那个整数,也就是取较大的

第三章字符串.向量和数组

练习3.24:请使用迭代器重做3.3.3节的最后一个练习(读入一组整数并把他们存入一个vector对象,先输出第一个和最后一个元素的和,接着输出第二个和倒数第二个元素的和,以此类推) #include<iostream> #include<vector> using namespace std; int main() { int a; vector<int> v; while(cin>>a) v.push_back(a); auto head = v.beg

C#中ListView易错的方法

现在有一个ListView(lv1),有2列. ListViewItem lvi = new ListViewItem(); lvi.Text = "语文"; lvi.SubItems.Add("99"); lvi.Items.Add(lvi); lvi = new ListViewItem(); lvi.Text = "数学"; lvi.SubItems.Add("100"); lvi.Items.Add(lvi); 有同学

java基础中的易错点

包 包在java中类似于c++命名空间 1.1.如何建立多层包? 传送门 注意: 每个包目录下面的文件,开头的格式都是package bag1.bag2.xxx.xxx...; 表示这个文件在哪个包(目录)里面.不能随意修改和删除这个语句,要不然产生不匹配的错误. 在一个包(目录)下新建一个文件夹,那么这个文件夹就会变成子包. 原文地址:https://www.cnblogs.com/yulianggo/p/10426527.html

Java代码实际应用中的易错点记录

1 创建对象 在fight方法中想根据接收到的名字创建不同的对象,最后调用方法,其中palnt是一个接口这三种对象已经实现了该接口.但在运行时下面代码是错误的因为我在if中声明了plant其作用范围只在{ }有效,因此后面直接使用是错误的. public void fight(String name){ if ("Bean".equals(name)){ Plant plant = new Bean(); }else if ("Ice".equals(name)){