scanf和char的用法?

作者&投稿:赵态 (若有异议请与网页底部的电邮联系)
~

1 如果使用scanf进行格式化输入,用逗号隔开不适用于先输入字符串后输入数字的情况,仅适用于数字的间隔,或者先输入数字后输入字符串。

下面是先输入数字后输入字符串的例子:

#include <stdio.h>
int main()
{
char s[100];
int v;

scanf("%d,%s",&v, s);//先输入整型变量v,再输入字符串,可以使用逗号分隔。
printf("%s
%d
", s, v);//输出得到的变量,每行一个值。

return 0;
}

如果输入:

123,abc

会输出:

abc

123

但是如果先输入字符串再输入数字,比如用scanf("%s,%d",s,&v);的格式,系统会出错。


2 如果需求必须是先输入字符串后输入数字,那么必须人工进行判断。

思路为用getchar逐个读入字符,并赋值到字符串对应位置,当出现逗号时结束。然后再用scanf读入数字。

代码如下:

#include <stdio.h>
int main()
{
char s[100];
int v;
int i = 0;

while(1)
{
s[i]  = getchar();//逐个输入字符并赋值到字符串中。
if(s[i] == ',')//输入结束。
{
s[i] = '\0';//赋值结束符。
break;//退出循环。
}
i ++;
}
scanf("%d",&v);//继续输入数字。
printf("%s
%d
", s, v);//输出得到的变量,每行一个值。

return 0;
}

以上程序输入:

abcd,123

输出哦

abcd

123




scanf 如何换行输入?
scanf可以手动换行输入。即在键盘上的输入顺序为:5 回车 9。scanf 的功能用一句话来概括就是“通过键盘给程序中的变量赋值”。该函数的原型为:include <stdio.h> int scanf(const char *format, ...);它有两种用法,或者说有两种格式。1、canf("输入控制符", 输入参数);功能:将从键盘输入的...

c中的char主要是干什么的,要详细
char用来存储字符时,实际存储值为对应的ASCII码值。 char类型可以用scanf\/printf输入输出,对应的格式字符串为%c。 也可以用getchar\/putchar输入输出。 以ASCII码值0结尾的char数组,在C语言中用来表示字符串,是C语言中很重要的部分。 由于C语言不是抽象数据类型的理想描述工具,而在很多院校C++又不是数据结构的先修...

printf的返回值是什么
int vprintf \/ vscanf(const char * format, va_list ap); \/\/ 从标准输入\/输出 格式化字符串 int vfprintf \/ vfsacanf(FILE * stream, const char * format, va_list ap);\/\/ 从文件流 int vsprintf \/ vsscanf(char * s, const char * format, va_list ap); \/\/ 从 字符串 \/\/ 例1...

c语言中char的ASCII值是多少?
ASCII字符集是与ANSI字符集中的前面128个(0-127)字符相同。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符(这里需要特别注意:ASCII码与标准ASCII码的位数上的区...

采用单片机 有三个开关 一个控制灯轮流点亮 一个控制间隔闪亮 一个控制...
\/\/间隔点亮程序 include"reg51.h"void keyscanf();\/\/用于扫描按钮 sbit p1_0=P1^0;\/\/用于连接键盘 void delay(unsigned char a);\/\/延时函数 void main(){ while(1)keycanf();} void keycanf(){ if(p1_0==0){ delay(5);if(p1_0==0){ while(p1_0==0);P0=0xaa;\/\/假设P0口...

DELPHI基础教程:开发Delphi对象式数据管理功能(四)[2]
在TReader的父对象TFiler对象中介绍过FBufPos和FBufEnd变量 Filer对象内部分配了一个BufSize大小的缓冲区FBufPos就是指在缓冲区中的相对位置 FBufEnd是指在缓冲区中数据结束处的位置(缓冲区中的数据不一定会充满整个缓冲区)在GetPosition方法中可以看到Reader对象的Position值和Stream对象的Position值是不同...

...char *format, arglist).里面的参数什么意思,全点啊!
int printf(const char *format,[argument]);format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type 规定数据输出方式,具体如下:1.type 含义如下:d 有符号10进制整数 i 有符号10进制整数 o 无符号8进制整数 u 无符号10进制整数 x 无符号的16进制数字,并以小写abcdef...

tprogressbar是什么 delphi
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;fAnyOperationsAborted := False;hNameMappings := Nil;lpszProgressTitle := Nil;end;ShFileOperation(OpStruc);finally iniFile.Free;FCanClose := True;Self.Close;end;end;不过 仅供参考 !!!

cho命令中部分控制字符的作用
c语言中char的用法:字符常量与初始化我们可以使用以下语句来初始化字符型变量:charch = 'A';这个语句把ch的值初始化为 A 的编码值。在这个语句中,'A' 是字符常量。C 语言中,使用单引号把字符引起来就构成字符常量。我们来看另外一个例子:char fail; \/* 声明一个字符型变量 *\/fail = 'F'; \/* 正确 *...

虞城县15798189035: c语言char与scanf连起来怎么用?比如下面这个如果我想输出a,b,c这三个字母输入的应该是什么? -
包申阳春: 是,回车也行. 当您输入一个文本并按下回车键时,程序会继续并读取输入. 在读取字符串时,只要遇到一个空格,scanf() 就会停止读取,所以 "this is test" 对 scanf() 来说是三个字符串.

虞城县15798189035: 关于scanf函数和printf函数的用法与区别(菜鸟级提问!!) -
包申阳春: 1.区别:scanf与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>.它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中.而printf()函数是格式化输出函数, 一般用于向...

虞城县15798189035: C语言scanf用法 -
包申阳春: scanf是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include .(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令#include .)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中.scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF.

虞城县15798189035: c语言scanf的用法, -
包申阳春: 在执行第二个scanf的时候其实是接收了一个回车符,打印的时候看不到,你在第二个scanf之前加一个getchar();或者在%c之前加一个空格就好使了.

虞城县15798189035: 关于scanf的用法 -
包申阳春: 具体如下: 1、记住一点,scanf认为遇到“非法输入”就结束. 2、scanf("%2d%f",&a,&b);中第一个格式控制字符2d的意思是读取2位,作为一个整数输入到给对应的变量a的地址中.输入876,当然只读取前2位87.这是2的作用,后面输...

虞城县15798189035: c语言中关于字符的输入输出问题. 我想知道输入scanf("%c",a[i]);和scanf("% -
包申阳春: putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符. getchar函数的功能是从键盘上输入一个字符. 函数只能接受单个字符,输入数字也按字符处理.输入多于一个字符时,只接收第一个字符. printf 函数称为格式输出函数.一般...

虞城县15798189035: C语言中的scanf函数怎么用呀? -
包申阳春: scanf("字符串,确定输入的类型",变量地址); example: int a; scanf("%d",&a);%d,%f,%lf,%c,%s分别表示int,float,double,char,字符串.根据你输入变量的类型选择.

虞城县15798189035: Switch char scanf 是什么,什么情况下用?大家帮忙解释解释,谢谢. -
包申阳春: switch 是用来进行条件选择的,一般与case连用,具体用法建议题主百科.char 表示字符型数据,用法与int double 相同,比如说,char a;呢么你就可以给a一个字符型的数据,所谓的字符,就是符号,a,b,c,!,@,scanf就是输入函数,用于c语言用法如下 char a;scanf(“%c”,&a);这样当你在你的运行窗口输入一个字符的时候,就会将字符值赋予a.

虞城县15798189035: Scanf()函数的使用 -
包申阳春: scanf(格式控制,地址表列) int scanf(char *format[,argument,...]); “格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址. scanf()函数返回成功赋值的数据项数,读到文件末尾...

虞城县15798189035: c语言中的scanf 函数的用法 -
包申阳春: 输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&.scanf("%s",s);改为scanf("%s",&s); scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);格式控制字符串包含:格式控...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网