scanf

For循环不停止或更新初始值

我刚开始学习编程,我正在玩指针和 scanf。我正在尝试制作一个程序,询问用户 n (代码中的案例),然后提示用户输入 n 次数字,但是一旦我在终端中它就不会停止。< /p> #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int main (void) { int ca... »

c

扫描成阵列

我正在尝试将包含 x 数量的双精度数的文件扫描到两个单独的数组中,其中双精度数被扫描到哪个数组一个接一个地交替。一切都运行良好,但我一直在 0 中扫描我的两个数组中的一个额外元素(不是我文件中双精度列表的一部分)。 如果我要扫描足够多的双精度数,使得两个数组都有 37 个双精度数元素,我的代码会生成 38 个元素,两个数组的最后一个元素都为零。 ARR_SIZE 为 1500 Size r... »

c

使用 scanf 进行字符输入,但 do-while 循环不会在空字符处停止

我对编程完全陌生(大学第一学期),我跟不上我的讲师。目前我被困在这个练习上(比我愿意承认的时间要长得多)。我试图在互联网上(在这个网站和其他网站上)寻求帮助,但我不能,因为我们的讲师让我们使用一个非常简单的 c 形式。我不一定要求一个完整的答案。我真的很感激甚至一些关于我错在哪里的提示。我知道这对某些人来说可能真的很简单,这个问题可能看起来很无知或愚蠢,我为没有弄清问题所在而感到难过,但我需要尝试... »

c

相当于 c++ 中的 Console.ReadLine()

我的老师刚刚给了我一个 C++ 作业,我正在尝试使用 scanf 获取一个字符串,但它只能输入最后一个字符。任何人都可以帮助我吗?我正在寻找 c++ 中的 console.readline() 的等价物。 编辑:我还必须能够通过指针存储值。 所以图片显示了当前在后台运行的代码,它应该在没有保证的情况下停止:并等待输入,但它跳过了它。 getline(cin, ptrav->nam);有效,但... »

c++

如何将字符串中的十六进制值转换为实际字节

我需要将“FAFBFCFD”等字符串中包含的十六进制转换为数组或 uint32。 我试过这样的 sscanf: uint8_t ns[4]; sscanf("FAFBFCFD", "%X%X%X%X", &amp;ns[0], &amp;ns[1], &amp;ns[2], &amp;ns[3]); 但我在数组中得到的只是 ff ff ff 7f 编辑: 就像@Clifford 所说,在这种情况... »

c

为什么 scanf 用 0 覆盖以前读取的 unsigned char 变量?

我尝试通过scanf 读取几个unsigned char 值,发现了一些奇怪的错误。在第二次调用scanf 期间,第一个unsigned char 变量被0 覆盖。但是写入scanf(" %hhu", &amp;second); 将导致第二个unsigned char 变量被覆盖。 #include &lt;stdio.h&gt; int main(void){ unsigned ch... »

c

从 scanf 结果读取到无限循环

我正在尝试阅读有关在 for 循环中使用 scanf() 的学生的信息(N 次 -> N 由用户输入),但 for() 循环不止于此......根本没有停止。我已经尝试了字符串格式的所有组合,但似乎没有任何效果。 这是我的代码: #include &lt;stdio.h&gt; #include &lt;string.h&gt; typedef struct STUDENT_CONSTRUCTO... »

c

带有结构的 C++ 向量不起作用?

我正在处理一些文件并尝试加载它们。我想用一个向量来存储最终的信息,这样我就可以在全局范围内保存它而无需知道它有多大。这是我的代码,但程序没有完成启动: std::string one = "v 100.32 12321.232 3232.6542"; struct Face {float x, y, z;}; std::vector&lt;struct Face&gt; obj; char sp... »

c++

帮助 C 中的 While 循环

我是 C 编程新手,我来自 Java 背景。我想知道为什么在下面的代码中,在 while 循环中,我必须输入十次输入,然后显示所有十个输入。我正在尝试输入一次内容,然后立即显示。然后继续输入我的其他输入。 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include "Helper.h" main(){ print(PROGRAM_... »

c

在C中扫描n个不带空格的数字

假设在一行中输入 n 个不带空格的数字,条件是这些数字满足它们位于 1 到 10 之间的条件。 说 n 是 6 ,然后让输入像“239435” 那么如果我有一个存储这些数字的数组,那么我应该得到 array[0]=2 array[1]=3 array[2]=9 array[3]=4 array[4]=3 我可以通过使用array[0]=(inp... »

c

C中的参数类型错误

我应该向用户询问一个 3 位数字,然后用该数字加上 6 模 10 替换每个数字,然后将所有更新数字相加。当我运行程序时,输入数字后它会崩溃,警告: 格式 %d 需要类型为“int *”的参数,但参数 2 的类型为 int。 这是我的源代码: #include &lt;stdio.h&gt; int main(int argc, char* argv[]) { int Int... »

c

使用 sscanf 读取带有空格和特殊字符的字符串

对于一个项目,我试图从字符串中读取一个 int 和一个字符串。这里唯一的问题是 sscanf 在看到空格和一些特殊字符时似乎无法读取%s。我只想打印特殊字符中存在的字符串。有没有办法绕过这个限制?这是我正在尝试做的一个示例: 类似于this link,变化不大 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; int main(int argc... »

c

如何在c中扫描行,每行不同?

假设我有这个文本文件,例如: 4 1 2 3 4 3 9 8 7 1 1 2 1 8 7 8 6 我想将第一行 ("4") 存储到一个变量中,而其他行, 以它们显示的方式将它们插入到二维矩阵中(动态二维数组)。 请注意,这只是一个例子,我只知道第一行是一个字符,除了 N*N 矩阵之外,我不知道其余行的 len。 我如何在 C 中做到这一点? 已编辑: 所以矩阵应该只有数字,所以这个 ... »

c

如何在函数内打印指向字符数组的指针?

我正在尝试在 c 中进行自己的简单测试。这是我的尝试: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void assert(char *first, char *second); int main(void) { char first[1000]; char second[1000]; printf("Ent... »

c

如何从文本文件中读取二进制数据并将其存储在 C 中的二维数组中

我有一个看起来像这样的文本文件 (H.txt): 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 我需要将此文本文件读入一个名为 H 的二维数组。文本文件的大小可以在长度和宽度上发生变化(即,二进制数据的行数和列数可能比我上面的示例多) . 这是我目前所拥有的: #import &lt;stdio.h&gt; int main() { ... »

c

scanf() 在初始化之前扫描一个字符

有人可以向我解释为什么“card_T2”甚至在“printf("Type in flop card 2: \n");”之前就开始扫描吗?显示在屏幕上? char card_T1[2]; char card_T2[2]; printf("Type in flop card 1: \n"); scanf("%c",&amp;card_T1[0]); //Card value scanf("... »

如何打印 .text 文件中的输入并检查输入是否正确?

我有一些关于人的信息的 .txt 文件。我需要使用以下格式打印此信息。我是编程新手,所以我真的不知道如何正确使用 fscanf()。我还必须检查每个项目是否正确。例如 name 只能是 char[40] 类型,number 必须是能被 11 整除的整数,等等。如果输入不正确,程序将打印消息:“Incorrect input: number\n”。你能帮我解决这个问题吗? 文件: James Nov... »

c

如何防止 fgets() 选择 \n 作为输入? [复制]

book_name 选择 \n 作为输入,并在新行中打印下一个变量。我插入此代码while ((getchar()) != '\n'); 以防止 fgets() 在使用 scanf() 后将 \n 作为输入。但我不明白为什么 fgets() 将 \n 作为输入。请解释一下。 代码 #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef... »

c