首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C中的问题,我不知道为什么main不能读取''or_vectb'‘

在C语言中,main函数是程序的入口函数,它负责程序的启动和执行。在main函数中,我们可以定义和使用各种变量和数据结构。

根据你提供的问题,"main不能读取'or_vectb'",我们可以推断出'or_vectb'是一个变量或标识符。然而,C语言中的变量或标识符必须遵循一定的命名规则,包括只能由字母、数字和下划线组成,且不能以数字开头。如果'or_vectb'不符合这些规则,编译器会报错。

另外,main函数的参数列表是固定的,它可以是空的,也可以接受两个参数,分别是命令行参数的个数和命令行参数的值。例如,可以使用以下形式的main函数定义:

代码语言:txt
复制
int main(int argc, char *argv[])
{
    // 程序逻辑
    return 0;
}

在这个定义中,argc表示命令行参数的个数,argv是一个指向字符串数组的指针,每个字符串表示一个命令行参数的值。

综上所述,如果你的问题是关于main函数无法读取'or_vectb'的情况,可能是因为'or_vectb'不符合C语言的命名规则,或者它没有被正确声明和定义。你可以检查变量名的拼写和命名规则,确保它在main函数中正确声明和定义。如果问题仍然存在,请提供更多的代码和错误信息,以便我们能够更好地帮助你解决问题。

请注意,以上回答中没有提及任何特定的云计算品牌商或产品,因为问题与云计算领域无关。如果你有关于云计算或其他相关主题的问题,我们将很乐意为你提供帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

重温C语言,这三十多个细节你把握住了?

难度指数:2颗星 / 细节指数:4颗星 / 重要指数:3颗星 别说输入输出了,不包任何头文件,我不知道还能写什么C代码。 为什么要这样呢?像Python那样都内置了不好吗?...有些编译器会允许void main()的形式,但是还没有任何标准考虑接受它,所以编译器可以不接受这种形式,这就是一个在平台移植中存在的一个隐患。 多写一行return 0;很难吗?...---- out of range 难度指数:4颗星 / 细节指数:5颗星 / 重要指数:5颗星 我就不吭声儿,哪个写C/C++的朋友没有遇到过这个问题。 越界。...流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次getchar()时,确实需要人工的输入,但是如果你输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了...[]){} 有时候,这个argv还会在main函数实现中被用到,那么就会有小伙伴不知道是干嘛用的,或者说知道是干嘛用的,不知道怎么用。

48520

Linux环境变量【终】

✈️main函数参数   在main函数中其实还存在一个参数:char *env[],和 argv类似,也是一个指针数组,不同的是 env的每一个指针指向的是每一行的环境变量!   ...其实,这个变量叫做 本地变量,至于为什么本地变量不能被getenv获取,这是因为 本地变量不是环境变量,本地变量只在bash有效,子进程不会继承本地变量。...存储位置 环境变量通常存储在系统级别的配置文件中 本地变量则只存在于当前 shell 进程的运行环境中 继承性 环境变量可以被子进程继承并使用,对系统中所有的进程都是全局可见的 本地变量不能被子进程继承...环境变量的出处   不知道大家有没有想过,我们环境变量是存在哪的呢?为什么我们开机就有这些环境变量或者本地变量呢?   ...#使bash_profile内的环境变量生效   当然我这台机器的Linux系统bash_profile文件并未生效,可能是登录时bash并未读取.bash_profile文件,所以不能生效,但是大部分人应该是没问题的

9910
  • 虚拟串口模拟器和串口调试助手使用教程「建议收藏」

    如果要使用串口的功能,基本就要用一个USB转串口的硬件模块。 现实生活中,虚拟串口用处很多。比如:你的应用程序检测串行输入数据的时候,方便调试。还比如:多个有应用程序之间使用串口通信。...C语言调用串口,接收发送数据 C语言程序测试接收代码如下: #include #include int main() { FILE *fp; if ((...0; } 运行 因为这个程序打开的是COM1,因此我么在COM2的串口调试助手中,在发送区输入要发送的值,点击发送 这是可以在运行串口看到接收并且打印出我们发送的值 我们继续测试几次..."); char str = 'x'; while (1) { fprintf(fp, "%s", &str); Sleep(1000); } return 0; } 不过不知道为什么...最近发现了是哪里出了问题,串口参数不一致导致的问题。

    7.7K20

    python正向连接后门

    然后进入一个循环,每次读取一下socket中数据,然后写入stdin中,通过管道传输给shell,shell执行完后,我用stdout.read()将结果读取到,再send给客户端。     ...想法很单纯很美妙,但实践起来就出问题了。python中read不是异步的,只有读取指定字节或读取到EOF才会返回结果。如果没有EOF那么read就一直读,程序阻塞在这里,于是表现出来就是卡死了。...所以,解决思路有四: 1.如果能知道shell向管道里写入了多少字节数据,我read(n)读取这个字节数据即可 2.如果有异步的read函数,调用也能解决问题 3.实在没办法,可以另开启一个线程...,专门读取管道中的数据 4.不使用管道,直接把shell的输入输出定向到socket中。...但不知道为什么,我写了一个windows版本,总是报错: ?     不太能理解,windows版本就把/bin/sh替换成cmd.exe,但就出这个错。

    1.4K31

    Java的 transient关键字

    哎,虽然自己最熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,今天做笔试题时发现有一题是关于这个的,于是花个时间整理下transient...然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作...实际上是这样的:第三点确实没错(一个静态变量不管是否被transient修饰,均不能被序列化),反序列化后类中static型变量username的值为当前JVM中对应static变量的值,这个值是JVM...好吧,我把答案都输出来了,是的,运行结果就是: 是的,我将会被序列化,不管我是否被transient关键字修饰 这是为什么呢,不是说类的变量被transient关键字修饰以后将不能序列化了吗?      ...我们知道在Java中,对象的序列化可以通过实现两种接口来实现,若实现的是Serializable接口,则所有的序列化将会自动进行,若实现的是Externalizable接口,则没有任何东西可以自动序列化

    43920

    面试官:你能用Go写段代码判断当前系统的存储方式吗?

    老实说,我第一次知道这个概念还是在学习单片机的时候,不过当时学完就忘了,真正长记性是在面试的时候,面试官问我:你能用C语言写段代码判断机器的字节序吗?...你一定好奇为什么要用C语言写,傻瓜,这是我大学的时候面试嵌入式岗位呀。扯远啦,其实当时的我是懵逼的,早就忘了什么大端、小端了,所以遗憾的错过嵌入式行业,进入了互联网行业(手动狗头)。...在使用Go语言实现之前,还是想再用C语言实现一遍,因为这是我一生的痛,毕竟在面试的时候没写出来。...大小端字节序转化 这里大家可能会有疑惑,为什么要有大小端转化,这是因为在涉及到网络传输、文件存储时,因为不同系统的大小端字节序不同,这是就需要大小端转化,才能保证读取到的数据是正确的。...我在大学时做arm和dsp通信的时候,就遇到个大小端转换的问题,因为arm是小端,dsp是大端,所以在不了解这个知识点的时候,通信的数据就是乱的,导致我调试了好久。

    90910

    虽然是高手过招的杀手锏,但是对写业务代码没有任何卵用。

    一边是从文件中新读取的数据,一边是已经在 Hash 表中的数据。 首先,看一下第一次 8 个字符的对比: 通过上图可以看出,第一次循环,i=0,对比双方均是 “Nakhon R”。...我也不知道,但是为什么不问问神奇的 GPT 呢: 上面这段话,对应到代码的部分就是这样的: 假设气象站的名称长度为 6,那么是不是直接都不会进入 for 循环,因为不满足上图中框起来的 for 循环条件.../blob/main/src/Blog4.java 如果只关注我框起来的部分,那么就是每次以 8 个字节为长度进行读取。...如果加上排序的逻辑,则只需要 2.4s。 那么问题就来了:为什么处理已排序数组比处理未排序数组更快? 经过前面的铺垫你肯定知道了,这不就是分支预测在搞鬼嘛。...但是你不知道它要走哪个方向。为什么要强调老老年间呢? 因为那个时候没有电话、无线电啥的,反正就是别人不能提前告诉你他要怎么走。

    18610

    为什么C语言会有头文件

    我当时回答的是C是静态语言很多东西都是需要事先定义的,所以按照惯例我们是将所有的定义都放在头文件中的。事后我再仔细想想,这个答案并不不能很好的说明这个问题。...所以我在这将关于这个问题的相关内容写下来,希望给大家一点提示,也算是一个总结 include语句的本质 要回答这个问题,首先需要知道C语言代码组织问题,也就是我比较喜欢说的多文件,这个不光C语言有,...在这里给大家说一个技巧,在VS中右击项目--->选择属性------>C++------>命令行,在编辑框中填入 /P,然后打开对应的文件点击编译(这里不能选生成,由于/P选项只会进行预处理并编译这一个文件...C语言编译过程 在上面我基本上回答了为什么需要一个头文件,但是本质的问题还是没有解决,为什么像Python这类动态语言也有对应模块、多文件,但是它不需要像C那样要先声明才能使用?...这样就解释了为什么在声明时指定变量类型,如果编译器不知道类型就不知道该用什么指令来替换C代码。同时会将对应的变量名作为符号保留。

    2.2K50

    书中关于伪终端的一个纰漏

    先上代码 pty.c pty_fun.c 这是书上标准的 pty 程序,简单说起来就是提供一个伪终端给被调用程序使用,例如 pty prog arg1 arg2 相当于在新的伪终端上执行 prog arg1...先来看一下 pty 程序的运行态结构,再来看 -i 选项的作用,最后我们分析一下为什么这样做行不通。...,pty 父进程负责读取标准输入,将内容导入到伪终端主设备(pty main device),也就是 slowout 的输入; pty 子进程负责从伪终端主设备(pty main device) 读取数据...我测试的结果是,如果  slowout 不从标准输入读取的话,则一切正常; 而一旦有任何读取动作,都会导致  slowout 卡死,进而 pty 子进程卡死,这两个进程都没有机会退出。.../pty -i bash -c ./slowout.sh > out.log < /dev/null & 结果是一样的 (我一开始还以为是 bash 从中进行了影响)。

    45720

    【C语言】看了这篇文章,如果你还不会文件操作的话,我把这篇文章给吃了(doge)

    但是,依旧存在很大的问题。 实际上在通讯录那个程序当中,我们给 cmd 当中输入指令的时候。此时的数据是会被存放在内存当中的。...,张三:不知道,我 那么这里说下实际上也就是上面按照顺序的编译过程: .c源程序[编译到],obj目标文件再[链接],exe执行文件。...张三:那个謓泽为什么需要有随机读写呢,我用文件读写它难道不香吗(⊙x⊙;) 我:张三同学出现文件的随机读写绝对是有它的一个好处的,不然为什么它会被出现呢。那么就来和你说说文件随机读写的好处。...); //关闭文件 fclose(pf); pf = NULL; return 0; } 运行结果  上述图中不知道你看懂了没有,我画的应该还不错吧(✿◕‿◕✿)  ftell() - 获取流中的当前位置...文件读取结束的判定​​​​​​​ 错误使用 feof()  在文件读取的过程当中,不能使用feof()的函数的返回值直接用来判断文件是否是结束的。

    83720

    《看聊天记录都学不会C语言?太菜了吧》(7)下一篇文章告诉你牛郎是谁

    本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。...为什么你不早说!——(必懂!题解)求素数 《看聊天记录都学不会C语言?太菜了吧》(21)(必懂!题解冒泡排序)在现实生活中,打擂台比赛争名次竟用的是冒泡排序?——(必懂!...——Devc使用及HelloWorld 《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?...小C:常量是用来在项目中为一些不能变量“加锁”,使其不能够发生改变,如果发生改变了将会出现报错。 小媛:那记住不要改动不就可以了? 小C:但是在团队项目以及大型项目中,可能会由于疏忽发生错误。...小媛:不难,但是我不知道这样写有什么意义,因为我不是知道a等于11了吗?为什么还要去写这个? 小C:若你不知道a里面存的呢?这个a是临时定义的,这样比较容易做演示。

    23330

    Flutter第6天--异步-IO+网络访问+json

    ,同步,异步,毕竟这几个词让我挺烦心 ---- 二、Dart中的IO操作 1.文件操作的API测试构造函数 ?...也许你会愤然而去,而我则会去分析错误的原因(这就是面对错误的不同选择) 前者可能永远也不知道原因,而后者即使最后无果,路上也会有所收获(打字的现在,我还未去分析) ---- 所以,一起去看看吧 -...是http,而这里不是file所以报错 至少你的知识库中多收录了一条信息:File.fromUri()不能访问非file类型的Uri 也知道了scheme大概是什么东西,知识库就是这样一点一点自己累积的...factory File.fromUri(Uri uri) => new File(uri.toFilePath()); 好吧,是一开始没注意,到此一个错误就可以画上句号了 错误不可怕,可怕的是你不知道为什么而导致以后还会犯...默认全部替换.png ---- 三、关于移动端的文件读取问题 1.路径问题 path_provider: ^0.4.1:提供了三个路径,勉强用用吧 localPath() async { try

    2.1K30

    Go并发编程里的数据竞争以及解决之道

    Go语言以容易进行并发编程而闻名,但是如果稍不注意,并发程序可能导致的数据竞争问题(data race)就会经常出现在你编写的并发程序的待解决Bug列表中-- 如果你不幸在代码中遇到这种错误,这将是最难调试的错误之一...goroutine设置变量i的值,同时在不知道开启的goroutine是否已经执行完成的情况下返回了i。...这就是为什么它被称为数据竞争:getNumber返回的值根据操作1或操作2中的哪一个最先完成而不同。 下面的两张图描述了返回值的两种可能的情况对应的时间线: ?...现在让我们考虑一个更通常的情况,程序读取和写入的顺序并不是固定的,我们只要求它们不能同时发生就行。这种情况下我们应该考虑使用Mutex互斥锁。...在我们上面解决的问题中,我更倾向于使用互斥锁,因为这个问题不需要goroutine之间的任何通信。

    2.7K20

    一个困扰我122天的技术问题,我好像知道答案了。

    本文主要是描述输出语句、sleep 以及 Integer 对线程安全的影响。 为什么还有 Integer ?我也不知道,可能是玄学吧! 先出个题 ?...我常常在夜里想起这个题以及这个题的变种问题,为什么呢?到底是为什么呢? ? 我再给你提供一个可以直接复制粘贴运行的版本,我建议文中的代码你都去执行一遍,你就会知道:MD,这事儿真是绝了!...但是在我的机器上,这个程序永远不会终止:因为后台线程永远在循环! 问题在于,由于没有同步,就不能保证后台线程何时“看到”主线程对 stopRequested 的值所做的改变。...比如在我的示例中,把输出语句换成new File()的操作也是可以正常结束的。 但是说真的,我也不知道哪个结论是对的,诸君判断吧。 ?...但是,我在写这篇文章的时候又遇到了上面说的最后一个关于 Integer 的问题。实在是不知道怎么回事。 也许,我可以把这个坑填上吧。 也许,编程的尽头,是玄学吧。

    92610

    周末学了点 Rust简介工具链宏(macros)返回值和错误处理Ownership 和生命周期闭包小结参考文档

    那个感叹号时,我的强迫症要爆发了 —— 这个“函数名”为什么要多一个感叹号!!! 往下看,发现 xyz! 这种东东在 Rust 中叫做 宏(macros)。...(C++ 中复杂的宏,估计过几个月,原作者都不敢随便改动了…直接的字符串替换,在不确定用户使用场景的时候,非常容易出问题。) Rust 中的宏功能强大、严谨很多。...当打开文件或读取文件数据出错时,我们希望把错误传递给调用方,而不是直接 panic!,所以不能使用 unwrap 或 expect 。...所以一开始看到 Rust 的闭包代码时,也是摸不清头脑,不知道是在写什么。...写这篇文章,主要是记录一下第一次阅读 Rust 的代码时遇到的一些问题,为 Rust 的代码阅读清扫一下障碍,Rust 真的挺复杂很多,后面都不知道还有多少坑。

    95520

    一行注释也能影响运行结果?

    没想到吧,一行注释也能影响运行结果 也许你在某个段子里听说过,某行注释删掉后,程序竟然不能预期执行?真的会这样么?你还别不信。...当然还有很多,我就不一一列举了。这些符号在代码中都有特别的作用,或者无法直接输入,因此用转移符+其他字符组合来代替。...同样的,早期的一些键盘可能没法输入一些特殊的符号,如: # $ @ [ \ ] ^ ` { | } ~ 于是,为了解决这个问题C语言标准规定预处理器(C preprocessor)在扫描处理C语言源文件时...实际上,细心的读者可能观察到了,我在前面例子代码中加了编译选项-trigraphs,否则的话,编译是有警告的: $ gcc -o main main.c main.c: In function ‘main...但是留个问题: 为什么例子中我们使用了sqrt函数,但在编译时却不需要链接math库?答案在这里一个奇怪的链接问题

    1.1K20

    靶机实战 |『VulnHub系列』Bottleneck 1-Walkthrough

    从上图中两个时间戳(方框中的kali系统当前时间的时间戳,椭圆中的时间戳是靶机上的)可以看出,我的kali系统与靶机处于同一时区,这里由于手速的问题,两个时间戳的数值相差1。...由于/tmp不在blacklist中,我们应该是可以读取这个文件的,问题就是“当前的位置(pwd)”是在/img目录下,我们应该向上跳几级目录才能到根目录下?...可是现在为什么是空的呢?你可能想说,会不会是payload不对?wordlist里面我从向上一级目录到九级目录,这作者总不能变态到需要向上十级目录吧。...所以我的结论是:虽然我不知道具体要向上多少级目录,但总在1~9之间。 那为什么文件是空的呢?被什么东西清空了呗!你还能想到其他的可能性吗?...这也就是上面列表中为什么我的第一个payload是/etc/passwd。我故意先发送一个黑名单请求,让系统在/tmp/output里面生成日志,之后再读取。

    1.3K31

    靶机实战 |『VulnHub系列』Bottleneck 1-Walkthrough

    从上图中两个时间戳(方框中的kali系统当前时间的时间戳,椭圆中的时间戳是靶机上的)可以看出,我的kali系统与靶机处于同一时区,这里由于手速的问题,两个时间戳的数值相差1。...由于/tmp不在blacklist中,我们应该是可以读取这个文件的,问题就是“当前的位置(pwd)”是在/img目录下,我们应该向上跳几级目录才能到根目录下?...可是现在为什么是空的呢?你可能想说,会不会是payload不对?wordlist里面我从向上一级目录到九级目录,这作者总不能变态到需要向上十级目录吧。...所以我的结论是:虽然我不知道具体要向上多少级目录,但总在1~9之间。 那为什么文件是空的呢?被什么东西清空了呗!你还能想到其他的可能性吗?...这也就是上面列表中为什么我的第一个payload是/etc/passwd。我故意先发送一个黑名单请求,让系统在/tmp/output里面生成日志,之后再读取。

    2K20

    【Linux系统编程】环境变量详解

    但是呢,我想问大家一个问题:为什么我们运行这样的可执行文件要加上./呢? 那我问大家,我们写的.C的文件生成的可执行程序,我们可以像指令那样去执行它来完成相应的任务。...但是呢,问题就来了:为什么我们运行ls这些指令可以直接敲对应的指令直接执行,而我们自己生成的可执行程序运行要加./呢? 为什么呢? 如果我想让我们自己的可执行程序也可以不加....那我们其实是可以自己写一个程序来获取的 5.1 main函数的第三个参数(环境变量表) 那首先来问大家一个问题:大家之前肯定都写过C/C++的程序,那我想问大家的是main函数可以带参数吗?...我们平时自己写C/C++代码一般写的main函数都是无参的 但是呢相信大家可能会在网上或者一些书籍上见过带参数的main函数,比如这样的 最常见的就是这种两个参数的,如果这两个参数你不知道是啥...那再来思考一个问题: 我们说环境变量是一张内存级的表,用户登录时由系统形成。那么表中的数据都是从哪来的呢? ,表中的环境变量信息呢其实都是从系统的相关配置文件中读取进来的。

    29210
    领券