scanf相关内容

Scanf只读句子中的一个单词

我是C的新手,我有一个小问题。我需要编写一个程序,用户在其中输入文本,程序会显示文本的长度。 我尝试了strlen(),但这不是我想要的。 char a[20]; scanf("%s",a) 如果我键入";Hello world";,结果是5,但我需要11。 我需要使用scanf,但可能无法使用它... 推荐答案 此调用 scanf("%s" ..
发布时间:2022-06-29 16:03:21 其他开发

导致无限循环的过滤扫描

我有一个程序通过scanf过滤输入。 我想要只读数字和大字母+空格。 最近我试图做这样的事情,它陷入了无限循环,仍然只打印第一个输入。 我知道fgets(),但我知道这是有效的。 我找不到问题出在哪里。 这是简化的情况;我发生了什么事? #include #include int main() { char str[21]; do ..
发布时间:2022-03-07 18:06:56 其他开发

用C++从文件中读取二维数组

我正在尝试创建一个程序来从文件中读取二维数组,然后将其打印出来。 文件设置为第一行先有行数,然后是列数。之后,将绘制数组。示例如下: 3 5 10.4 15.1 18.5 13.3 20.8 76.5 55.3 94.0 48.5 60.3 2.4 4.6 3.5 4.6 8.9 我的问题是我只知道如何使用fgets和sscanf读取每行的第一个元素,所以以下数字被忽略。 # ..
发布时间:2022-03-07 17:58:49 其他开发

如何使用scanf函数获取字符串长度

如何在不使用strlen函数或计数器的情况下获取字符串长度,如: scanf("???",&len); printf("%d",len); 输入:abcde 预期产量:5 推荐答案 可以使用赋值抑制(字符*)和%n,将消耗的字符数存储到一个整数值中: int count; scanf( "%*s%n", &count ); printf( "string l ..
发布时间:2022-03-07 17:55:09 其他开发

未使用scanf将十六进制值正确写入字符

我用C语言编程,使用scanf将两个值写入两个不同的变量,然后使用printf输出。但是,当我键入两个值中的第一个值时,它只返回($00)。但是,第二个值似乎工作得很好,并且将报告我键入的内容。我假设这只是一个scanf问题。以下是发生问题的代码的一部分。为什么会这样? intA = strcmp(command, "write"); if(intA != 0) intA = strcmp( ..
发布时间:2022-03-07 17:49:12 其他开发

C++中scanf的怪异行为

if (a % 5) { goto ask; } else { goto main; } ask: printf("Do You Want To Exit ? Y \ N . . . "); scanf("%c", &YN); getch(); if (YN == 'Y') { y: system("cls"); YN = 1; goto sign; } ..
发布时间:2022-03-07 17:47:02 其他开发

如何删除%20s的scanf的额外输入

我正在做c入门课程的作业,所以我的知识仍然很少,请注意。我有 scanf(" %20s", contact.name"); printf("Do you want to enter a middle name?"); scanf(" %c", doYouWant"); 如果第一个scanf超过20个字符,则这些字符将作为下一个scanf的输入。如果我使用%s,那么它将接受整个行,但是会比 ..
发布时间:2022-03-07 17:41:03 其他开发

如何从文件中读取特定格式的数据?

我应该从类似以下格式的文件中读取输入和参数: Add id:324 name:"john" name2:"doe" num1:2009 num2:5 num2:20 问题是我不允许使用fgets。我尝试使用fscanf,但不知道如何忽略“:”并分隔字符串“name:”john“”。 推荐答案 如果您确定输入文件将采用格式良好、非常具体的格式,则fscanf()始终是一个选 ..
发布时间:2022-03-07 17:35:40 其他开发

`strtod(&Q;3EX&q;,&;end)`应该是什么结果?‘sscanf’怎么样?

在我的实验中,此表达式 double d = strtod("3ex", &end); 用3.0初始化d,并将end指针放在输入字符串中的'e'字符处。这正是我期望它的表现。'e'字符可能看起来是指数部分的开头,但由于缺少实际指数值(6.4.4.2所需),因此'e'应被视为完全独立的字符。 但是,当我这样做时 double d; char c; sscanf("3ex", " ..
发布时间:2022-03-07 17:28:31 其他开发

C scanf()问题

我是C语言的新手,无论如何也找不出我在这里做错了什么。第一个scanf运行良好,变量在读入时被打印出来。第二个scanf似乎没有正确读取输入。输入的格式为“char int”,即b4 4 当我打印opb x和y输出时,opb=“”,x=13238272,y=0。 有什么想法吗?.注意,我删掉了问题下面的代码 int main(void) { /*initialize variables* ..
发布时间:2022-03-07 17:24:56 其他开发

我的程序跳过获取输入数据吗?

我写了一个简单的兑换货币的程序,可以买到啤酒。 但是程序中有一些东西,我不知道为什么,它会自动跳过第三个输入数据->结束程序。 这里是我的代码: #include #include int main() { int ex_rate_into_vnd = 20000; //! Exchange Rate int beer ..
发布时间:2022-03-07 17:21:08 其他开发

scanf未按预期工作

我试图在ubuntu 15.10中执行以下简单代码,但代码的行为比预期的奇怪 #include int main(){ int n,i=0; char val; char a[20]; printf(" Enter the value : "); scanf("%s",a); printf(" Enter the value to be searched : "); sc ..
发布时间:2022-03-07 17:18:37 其他开发