“指针的指针”的作用

//此段代码学到了“指针的指针”的一个作用。还有atoi函数的作用。将char型字符串“123”转化为int型整数,其中函数实现方法有所欠缺。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>//包含函数malloc
int arithMatic(const char *stringInput,char *stringOut)
{
	#ifdef DEBUG
    if(NULL==stringInput)
    return 0;
    #endif
    const char *inString=stringInput;
    char *outString=stringOut;
    char* pLeft=(char*)malloc(10);
    char* pRight=(char*)malloc(10);//野指针需初始化,即开辟空间。
    char* ppLeft=pLeft;
    char* ppRight=pRight;//设置ppLept和ppRight的作用,保留pLeft和pRight指向首地址。
    char* mString=(char*)malloc(10);//如果不在此处初始化,即使编译通过,但执行时提示输出段错误。
    int a,b,c=0; 
		while(' '!=*inString)
        {
            //printf("Hello\n");//调试代码用
            *ppLeft=*inString;
			//printf("%c\n",*ppLeft);
            inString++;
            ppLeft++;
        }
		inString++;
        if(('+'==*inString)||('-'==*inString))
        {
           *mString=*inString;
		    //printf("%c\n",*mString);
            inString++;  
            if(('+'==*inString)||('-'==*inString))
            {
				printf("result=%d\n",c);
                return 0;
			}
        }
		inString++;
        while(*inString)
        {
			//printf("Hello\n");
            *ppRight=*inString;
			printf("%c\n",*ppRight);
            inString++;
            ppRight++;
        }
        inString++;

         a=atoi(pLeft);
		 b=atoi(pRight);
         if('+'==*mString)
		 {
		 	 c=a+b;
             printf("result=%d\n",c);
		 }
         else
		 {
		 	c=a-b;
            printf("result=%d\n",c);
		 }
 
	return 0;
}
int main()
{
 char input[100]={"78 + 15"};
 char output[100]={0};
 arithMatic(input,output);
 printf("%s\n",input);
 //printf("%s\n",output);
 return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值