您的位置:

c语言指针reserve,C语言指针数组

本文目录一览:

C语言字符串

代码功能:

1、输入任意行数的内容(如果你想限制最多10行,自己加个变量计数好了)。

2、不想输入时,新行直接回车,会刷新显示统计个数。

#include stdio.h

#include stdlib.h

#include string.h

#include malloc.h

typedef struct strs

{

    char str[100];

    struct strs *next;

}STRS;

void contWord(char *str);//对字符串大小写字母计数

void intput(STRS **strsHead,STRS **strsTail);//输入字符串,并显示统计结果(每输入完一行回车时,刷新数据)

void prfStrs(STRS *strsHead,int tj);//打印字符串及统计结果

int dCon=0;//大写字母计数

int nCon=0;//数字计数

int main()

{

    STRS *strsHead=(STRS *)malloc(sizeof(STRS));

    strsHead-next=NULL;

    STRS *strsTail=NULL;

    intput(strsHead,strsTail);

    return 0;

}

void prfStrs(STRS *strsHead,int tj)//tj=1输出统计结果;tj=0不输出统计结果

{

    while(strsHead-next!=NULL)

    {

        printf("%s\n",strsHead-next-str);

        strsHead=strsHead-next;

    }

    if(tj==1)

    {

        printf("大写字母个数:%d\n",dCon);

        printf("数字输入个数:%d\n",nCon);

    }

}

void contWord(char *str)

{

    int len=strlen(str),i;

    for(i=0;ilen;i++)

    {

        if(str[i]='A'  str[i]='Z')

            dCon++;

        if(str[i]='0'  str[i]='9')

            nCon++;

    }

}

void intput(STRS **strsHead,STRS **strsTail)

{

    STRS *strsNew;

    char c;

    while(1)

    {

        strsNew=(STRS *)malloc(sizeof(STRS));

        memset(strsNew-str,0,100);

        if(strsNew-str[0]==0)

        {

            c=0;

            c=getchar();

            if(c=='\n')

            {

                system("cls");

                prfStrs(*strsHead,1);

                break;

            }

            else

            {

                strsNew-str[0]=c;

            }

        }

        gets(strsNew-str[1]);

        strsNew-next=NULL;

        if((*strsHead)-next==NULL)

            (*strsHead)-next=strsNew;

        else

            (*strsTail)-next=strsNew;

        *strsTail=strsNew;

        contWord(strsNew-str);

    }

}

C语言中string指令是什么?

string 是 c++的,不是 c 的

stirng 是C++里面一个用来处理字符串的类。包含了字符串处理掉一下常用方法,如:

Constructors 构造函数,用于字符串初始化

Operators 操作符,用于字符串比较和赋值

append() 在字符串的末尾添加文本

assign() 为字符串赋新值

at() 按给定索引值返回字符

begin() 返回一个迭代器,指向第一个字符

c_str() 将字符串以C字符数组的形式返回

capacity() 返回重新分配空间前的字符容量

compare() 比较两个字符串

copy() 将内容复制为一个字符数组

data() 返回内容的字符数组形式

empty() 如果字符串为空,返回真

end() 返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)

erase() 删除字符

find() 在字符串中查找字符

find_first_of() 查找第一个与value中的某值相等的字符

find_first_not_of() 查找第一个与value中的所有值都不相等的字符

find_last_of() 查找最后一个与value中的某值相等的字符

find_last_not_of() 查找最后一个与value中的所有值都不相等的字符

get_allocator() 返回配置器

insert() 插入字符

length() 返回字符串的长度

max_size() 返回字符的最大可能个数

rbegin() 返回一个逆向迭代器,指向最后一个字符

rend() 返回一个逆向迭代器,指向第一个元素的前一个位置

replace() 替换字符

reserve() 保留一定容量以容纳字符串(设置capacity值)

resize() 重新设置字符串的大小

rfind() 查找最后一个与value相等的字符(逆向查找)

size() 返回字符串中字符的数量

substr() 返回某个子字符串

swap() 交换两个字符串的内容

c++语言用reserve实现逆序的用法 要举例

#include iostream

#include string

using namespace std;

string reserve(string arg)

{

    string result = "";

    for (int i = arg.length() - 1; i = 0; --i)

    {

        result += arg[i];

    }

    return result;

}

int main()

{

    coutreserve("abcd")endl;

    return 0;

}

c语言程序设计 用链表编写商品库存管理。

#include stdio.h

#include stdlib.h

#include string.h

typedef struct node{

char no[20];//存放编号

char name[40];//存放名称

int reserve;//库存

struct node *next;

}NODE;

typedef struct link{

NODE *front;//头指针

NODE *rear;//尾指针

}LINK;

NODE *create_node(void){

NODE *node = (NODE *)malloc(sizeof(NODE));

printf("请输入货物编号:");

gets(node-no);

printf("请输入货物名称:");

gets(node-name);

printf("请输入货物名称:");

char ch;

while( (ch= getchar()) != '\n');//rewind(stdin);

scanf("%d",node-reserve);

node-next = NULL;

return node;

}

void init_link(LINK *link){

link-rear = NULL;

link-front = NULL;

}

int link_empty(LINK *link){

return link-front == NULL ? 1: 0;

}

int node_num(LINK *link){

int num = 0;

if( link_empty(link)){

return num;

}

num = 1;

NODE *node = link-front;

while(node != link-rear){

node = node-next;

++num;

}

return num;

}

/*NODE *node_find(LINK *link,const int n){

int num = node_num(link);

if(num n){

printf("公有节点%d个,无法找到第%d个节点\n",num,n);

}

else{

}

}

*/

void node_push(LINK *link){

NODE *node = create_node();

if(link-front == NULL){

link-front = node;

link-rear = node;

node-next = NULL;

}

else{

link-rear-next = node;

link-rear = node;

node-next = NULL;

}

}

void node_insert(LINK *link,const int n){

int num = 0,i = 1;

NODE *node = link-front;

NODE *new_node = NULL;

if ( link_empty(link) ){

printf("链表为空,将建立链表!\n");

node_push(link);

}

else{

if( n = 1){

printf("在链表头插入数据\n");

new_node = create_node();

new_node-next = link-front;

link-front = new_node;

}

else if( n= num = node_num(link) ){

printf("节点数少于%d,将在末尾插入节点.\n",n);

node_push(link);

}

else{

printf("在第n个节点后插入数据\n");

if(num = n){

while( i != n){

node = node-next;

++i;

}

new_node = create_node();

new_node-next = node-next;

node-next = new_node;

}

}

}

void find_node_insert(LIKNK *link,const char *name){

NODE *node = link-front;

if( link_empty(link) )

node_push(link);

else {

while(strcmp(node-name,name) != 0){

if(node != link-rear)

node = node-next;

else break;

}

if(node != NULL){

NODE *new_node = create_node();

new_node-next = node-next;

node-next = new_node;

}

else {

printf("没有找到相关货物,将在头节点插入数据\n");

intsert(link,0);

}

}

/*由于我不知到你对货物统计具体实现的要求,关于货物数量统计就你自己写了,应该比较简单。*/

/* 代码没有具体运行过,如果你学过C结构体与指针,就这个代码思路应该看得明白,真正的实现你自己实现吧

这样对你会更好写。可能会有错误的地方,请谨慎。 */

倒置函数 reserve(s.begin(),s.end()),有C++的代码示例吗?

#includeusingnamespacestd;charstrend(char*s,char*t);intmain(){char*s;char*t;s=newchar[100];t=newchar[100];cout"输入s的值"endl;cin.getline(s,100);cout"输入t的值"endl;cin.getline(t,100);coutstrend(s,t)endl;return0;}charstrend(char*s,char*t){intsize1=0,size2=0;if(s!=NULL)while(s[size1]!='\0')size1++;returnNULL;if(s[size1-1]==*t)return'1';elsereturn'0';}只要最后一个字符相同,就会输出1,否则输入0.

求解,C语言中的ReserveByte0_L = 0x00, ReserveByte0_H, ReserveByte1_L, ReserveByte1_H, 有什么用处?

char是字符型byte是字节型(0-255)在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65.char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个UnsignedByte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。