修改程序中错误的地方

img


thanks,这类程序真的不熟练,c语言不通,哭哇,自己学真的吃力

strtoval 种 pst 不可能同时为 + 和 0-9 之间,还是把 && 改成 ||

if ((pst[i] == '+') || (pst[i] >= '0' && pst[i] <= '9'))

首先if里面的判断应该是||,不是&&,有没有具体需要解决的题目呢
其次数字的判断可能也有一点问题,比如说"+123+123"这个例子,在数字中间出现+的情况

img

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7576871
  • 这篇博客也不错, 你可以看下C语言深度剖析【深入理解指针和数组(指针篇)】,专注提升你的C语言内功。
  • 你还可以看下c语言参考手册中的 c语言-成员访问与间接
  • 除此之外, 这篇博客: 要悄悄地学C语言,在成为大佬的路上一去不复返中的 一、什么是C语言 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 什么是C语言,C语言是一门计算机语言,那什么是计算机语言?
    就如世界有好多个国家,每个国家的语言可能都不一样,有汉语、英语、俄罗斯语、法语等等,那么按照正常来说,比如中国人,就会用汉语交流,美国人就用英语交流等等,如果要是想中国人和美国人交流,要么中国人说英语,要么美国人说汉语,这样对方才能懂说的话是什么意思

    这个比喻就好比计算机语言,计算机语言就是:人和计算机交流,那么我们就需要学习计算机语言,为什么?因为计算机只认识0和1,这个要是在深究的话,请自行百度

    那么我们现在有什么计算机语言,比如:C、C++、Java、Python、JavaScript、Go等等,这些都是计算机语言

    接下来我们说一下计算机语言的发展史
    早期计算机能识别的语言叫做二进制语言,这个怎么理解呢,就是计算机是一个硬件,但是它要通电,而电分正电和负电,所以也就是我们上面说到的0和1,0为负电,1为正电,它们也被称为电信号

    那么我们现在就想让计算机工作,写一段代码,那可能二进制语言表示就是这样的

    01010101010010010101011100010001

    给计算机输入这样很多的电信号,它是不是特别复杂啊,所以当时写这样代码就要查手册才能写出正确的代码

    所以到后来出现了助记符,比如这段代码

    010101010

    假如这段代码就是表示ADD,就是加法助记符,那我们以后写代码就直接写ADD就好了,也简单了,而这些助记符所表达的语言就是 汇编语言

    发现还是非常繁琐,接着就有了B语言,而在B语言的基础上发明了我们所熟知的C、C++等等,从C语言开始我们就称这些语言为高级语言

    C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

    解析C语言程序的代码:

    // 这个是我们C语言的一个主函数框架,也就是说代码是从这里开始进行执行的
    int main()
    {
    	return 0;
    }
    

    那我们先来打印一个代码吧
    人生的中的第一个C语言Hello World

    int main()
    {
        printf("Hello World\n");
        return 0;
    }
    

    直接按 F10 debug代码,看一下执行流程
    在这里插入图片描述
    可以看到在第8行有一个小箭头,再按F10,可以看到箭头到了第9行,所以说代码是从main函数开始执行的

    在这里插入图片描述

    我们再创建一个main函数看会怎么样

    在这里插入图片描述

    所以说main函数有且仅有一个

    那么这个函数体内还有return 0,这个的意思就是返回0,0是整数,而main() 函数之前的int 就是整型的意思
    main()函数之前放int表示 main() 函数调用返回一个整型值

    这样return 0,就和int前后呼应的联系起来

    但我们是不是在之前看到的C语言的main函数写法是这样的:

    void main()
    {
    
    }
    

    没错,这个也是我们C语言的写法,但是这种写法已经是过时的写法了,所以我们在写的时候,就不要再这样写了

    接着看我们打印函数printf() 这个函数其实是可以拆解的它是分为printfunction,顾名思义,就是打印函数

    那么这个打印函数又叫库函数,库函数就是C语言本身封装好提供给我们的函数,那么这个就相当于在使用别人的函数

    使用别人给我提供的函数就要去 “打招呼” 也就是要去调用一下:

    //include叫做包含
    #include<stdio.h>
    

    那么这个代码的意思就是包含stdio.h的文件

    我们再来拆分stdio.h

    • std标准
    • iinput 输入
    • ooutput 输出

    所以头文件的意思就是标准输入输出头文件
    那么我们以后要是写输入或者输入的函数的时候都要引入这个头文件

    所以接下来写一个打印代码的完整代码:

    #include<stdio.h>
    int main()
    {
        printf("你好,世界!\n");
        printf("我是程序员,是用代码编织世界的工程师\n");
        return 0;
    }
    
  • 您还可以看一下 张颜源老师的2020新版C语言程序设计零基础入门小白自学编程课程中的 C语言控制流之三大结构小节, 巩固相关知识点