my_atio()代码出错原因,完全代码

1、
//不明白这么简单的代码为什么会出错
#include
int my_atoi(char *str);
int main(void)
{
char a[]=" 12345";
int b=0;
b = my_atoi(a);
printf("%d", b);
getchar();
return 0;

}

int my_atoi(char *str)
{
char*  p = str;//char *p; p = str;
int inter_symbol = 1;
int inter_number = 0;
while (*p = ' ')//出错的地方
p++;
if (*p = '-')
{
inter_symbol = inter_symbol*(-1);
p++;
}

while(*p>='0'&&*p<='9'&&*p!='\n')
{
inter_number = inter_number * 10 + (*p - '0');
p++;
}
return inter_number*inter_symbol;
}

 

调试了好久,才知道原来判断语句的“==”写成了“=”!!!切实记得这个错误!!

 

2、

#include
int my_atoi(char *str)
{
 char *p = str;//char *p; p = str;
 int inter_symbol = 1;
 int inter_number = 0;
 while (*p == ' ')
  p++;
 if (*p == '-')
 {
  inter_symbol =inter_symbol*(-1);
  p++;
 }
 if (*p == '+')
 {
  p++;
 }
 if (!(*p >= '0'&&*p <= '9'))
 {
  printf("开始符号为非数字字符,错误返回。\n");
  return 0;
 }
 while (*p != '\0')
 {
  if (*p >= '0'&&*p<= '9')
  {
   inter_number= inter_number * 10 + (*p - '0');
   p++;
  }
  else
  {
   printf("字符串不完全是数字字符,返回部分数字字符对应的数字\n");
   returninter_number*inter_symbol;
  }
 }
 return inter_number*inter_symbol;
}

int main(void)
{
 char a[] = "1a2355";
 char b[] = "987653";
 int add1,add2,total;
 add1 = my_atoi(a);
 add2 = my_atoi(b);
 total = add1 + add2;
 printf("%d", total);
 getchar();
 return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享一个文件上传工具类

文件上传状态枚举类&#xff1a; View Code 1 package com.hoo.enums;2 3 4 5 /**6 7 * <b>function:</b> 文件上传状态8 9 * package com.hoo.enums 10 11 * fileName UploadState.java 12 13 * createDate 2010-10-11 下午1…

静态库和动态库的区别

库是写好的&#xff0c;现有的&#xff0c;成熟的&#xff0c;可以复用的代码。现实中每个程序都要依赖很多基础的底层库&#xff0c;不可能每个人的代码都从零开始&#xff0c;因此库的存在意义非同寻常。 本质上来说&#xff0c;库是一种可执行代码的二进制形式&#xff0c;可…

257. Binary Tree Paths

1、问题描述 2、代码&#xff08;非本人所写&#xff0c;十分精彩的C代码&#xff09; int pathsNum(struct TreeNode* root); void Traverse(struct TreeNode* root, char** array, char* spre, int* pindex); char* stringAdd(char* s, int val);char** binaryTreePaths(stru…

项目中获取系统的用例的基本步骤

1、绘制关联图&#xff0c;用于定义系统与系统外部实体间的边界和接口的简单模型&#xff1b; 2、创建开发原型&#xff0c;当开发人员或用户不能明确某些需求时&#xff0c;开发一个系统原型&#xff0c;这样使得许多概念和可能发生的事更为直观明了&#xff1b; 3、分析可行性…

UE 查找和替换

今天07/06/2005 昨天07/05/2005 明天07/08/2005 查找内容&#xff1a;^([0-9][0-9]^)/^([0-9][0-9]^)/^(200[0-9]^) 替换为: ^3^1^2 今天20050706昨天20050705明天20050708 ParamByName(C_AGENCYNO).AsString:Trim(copy(s,42,3)); 查找内容&#xff1a;^(Trim(co…

服务器最小化安装后的优化脚本

服务器最小化安装后的优化脚本&#xff0c;此脚本在CentOS[5.5-5.8] x86_64系统下测试均顺利通过&#xff0c; 由于现在Linux服务器系统都是采用Kickstart批量安装的方式&#xff0c;此脚本可以由Puppet服务器推送执行&#xff0c;脚本内容如下所示&#xff1a;#!/bin/bash #添…

字符指针、字符串、字符数组、字符串数组

字符指针 比如代码char* pNULL&#xff1b;定义了一个字符指针p。 字符指针一般用来指向一个字符&#xff0c;或者指向一个字符串。 刚开始学习时&#xff0c;我以为有“字符串指针”的概念&#xff0c;也就是指向字符串的指针。其实没有这个概念&#xff0c;字符指针与字符串指…

static函数的申明

static 声明的变量在C语言中有两方面的特征&#xff1a; 1)、变量会被放在程序的全局存储区中&#xff0c;这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器&#xff0c;自己仅仅在变量的作…

HDOJ树形DP专题之Centroid

题目链接 这题跟Balance Act那题差不多&#xff0c;求图的质点。我直接将那题改了一下提交&#xff0c;结果PE了一次&#xff0c;又WA了一次&#xff0c;最后发现是单case&#xff0c;多case的提交为什么WA呢&#xff1f; View Code 1 #include <stdio.h>2 #include <…

LAMP平台--部署Discuz论坛

环境&#xff1a;为了推广公司的产品并为客户服务提供一个交流平台&#xff0c;公司购买了一套Discuz论坛系统&#xff0c;要求安装到现有的LAMP服务器中&#xff0c;并简单划分论坛版块。需求&#xff1a;部署论坛服务器&#xff0c;安装Discuz论坛系统添加新区和版块产品发布…

C语言面试题大汇总

static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1.限制变量的作用域 2.设置变量的存储域 7. 引用与指针有什么区别&#xff1f; 1) 引用必须被初始化&#xff0c;指针不必。 2) 引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象。 2) 不存在…

链表创建为什么需要使用内存分配?

我们知道&#xff0c;在全局定义的结构体变量&#xff0c;存储全局数据区&#xff1b;在函数内定义的结构体变量&#xff0c;存储在栈区&#xff1b;使用malloc函数申请空间来存放结构体变量&#xff0c;则该结构体变量存储在堆空间中。 我们说的链表&#xff0c;其节点数据一…

我国三大坐标系的区别(西安80、北京54、WGS-84)

1、北京54坐标系(BJZ54) 北京54坐标系为参心大地坐标系&#xff0c;大地上的一点可用经度L54、纬度M54和大地高H54定位&#xff0c;它是以克拉索夫斯基椭球为基础&#xff0c;经局部平差后产生的坐标系。 1954年北京坐标系的历史&#xff1a; 新中国成立以后&#xff0c;我国大…

springside 4 web-init 启动

我初始化h2数据库&#xff0c; 然后把jar 放到 springside-4.0.0.RC2\examples\mini-web 中 &#xff0c;最后配置启动tomcat。 就出现这个错。 最开始我用 quick-start.bat &#xff0c;但总是执行到一半就 挂掉了。 提示spy 包没找到 。 这个是在装载 xml&#xff0c;解析成b…

ACM中java快速入门

2019独角兽企业重金招聘Python工程师标准>>> ACM中java快速入门 附&#xff1a; Chapter I. Java的优缺点各种书上都有&#xff0c;这里只说说用Java做ACM-ICPC的特点&#xff1a; (1) 最明显的好处是&#xff0c;学会Java&#xff0c;可以参加Java Challenge …

空分复用的概念

定义&#xff1a;让同一个频段在不同的空间内得到重复利用&#xff0c;称之为空分复用。一般使用自适应天线阵列技术实现&#xff0c;在不同的用户方向上形成不同的波束。也叫SDM。 另&#xff1a; 如果把空间的分割来区别不同的用户&#xff0c;就叫做SDMA。每个波束可提供一…

OV7725的帧率和PCLK寄存器设置

一、OV7725的PCLK的改变和以下几个寄存器有关&#xff1a; 1&#xff1a;OX0D&#xff08;COM4&#xff09;&#xff1b; ------------------------------------------------------------------------------------------------------------------ 0X0D COM4 41 …

从集合中选出一些元素组成子集合,使得这些子集合符合某种约束

今天朋友问了一个问题&#xff1a;现有整型数组 a[6] {1,2,4,3,5,8}&#xff0c;写一个函数&#xff0c;找出所有和为10的集合。穷举法暴力解决很容易&#xff0c;但没有体现算法思想。不妨将问题上升&#xff1a;有某大小为N的整型数组&#xff0c;从中找出所有和为M的集合。…

演示:两台交换机成环后的STP计算原则

演示&#xff1a;两台交换机成环后的STP计算原则演示目标&#xff1a;理解两台交换机成环后&#xff0c;STP的计算原则&#xff0c;重点理解PID的作用。演示环境&#xff1a;如下图7.49所示。演示背景&#xff1a;上图所示的环境为两台交换机的生成树环境&#xff0c;其中S1有较…

引水入城

最近在搞提高组的题,这是某天早上给的T1 T1最难还行 原题目 最近考试考多了就是见题打暴力,打搜索, 然而这题真是搜索, 但是并不能只搜索,会T,没亲测,但一定有效 这并不是考试题,所以看看标签(理直气壮的理由) 是BFS啊... 那就用DFS吧 这里的DP一开始看没有什么感觉,但是做着做…