首页 > 代码库 > PAT---1050. String Subtraction (20)
PAT---1050. String Subtraction (20)
#include<iostream>#include<string.h>#include<stdio.h>using namespace std;#define N 128int main(){ int i=0,sum; bool is_exist[N]; char ch; char str[10000]; //void *memset(void *s,int ch,size_t n) //将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值 memset(is_exist,0,sizeof(is_exist)); //把用户的每个输入的字符放入str中,直到用户输入了换行停止 while(scanf("%c",&ch)&&ch!=‘\n‘){ //输入的这个字符放在数组中自动转换成对应的ASCII值,更新 is_exist is_exist[ch]=true; //把输入的字符存入str这个字符数组 str[i++]=ch; } //sum记录的是第一次输入的字符串的长度 sum=i; //让用户第二次输入字符串 while(scanf("%c",&ch)&&ch!=‘\n‘){ //让is_exist对应的字符的ASCII位标记为false is_exist[ch]=false; } i=0; while(i<sum){ //如果在str[i]的ASCII值做下标 ,在is_exist中不是false,那么是0或者true //说明这个字符在第二次的输入中没有出现过 if(is_exist[str[i]]!=false) //输出该字符 printf("%c",str[i]); i++; } return 0;}
总结:1.把字符作为数组的下标会转化为该字符对应的ASCII码。
2.memset函数的使用:void *memset(void *s, int ch, size_t n);
含义:将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定
作用:在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。