当前位置:首页 » 编程语言 » c语言中输入语句中的逗号
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中输入语句中的逗号

发布时间: 2022-03-06 23:38:03

A. c语言输入字符串和数字时如何用逗号隔开

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

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

#include<stdio.h>
intmain()
{
chars[100];
intv;

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

return0;
}

如果输入:

123,abc

会输出:

abc

123

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


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

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

代码如下:

#include<stdio.h>
intmain()
{
chars[100];
intv;
inti=0;

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

return0;
}

以上程序输入:

abcd,123

输出哦

abcd

123

B. C语言输入时逗号和空格的区别

scanf("%d%d",&a,&b); 两个%d间没有任何字符时,输入数据可以用空格、回车、TAB键进行分隔。

如果写成 scanf("%d,%d",&a,&b); 或scanf("%d/%d",&a,&b); 或scanf("%d+%d",&a,&b);等样子,两个%d间有具体的字符或字符串时,则就要严格用这个分隔信息进行数据分隔才可以!

C. C语言中如何输入一行字符,如果遇到空格、逗号或者句号,替换成*输出

#include <stdio.h>
int main()
{
char str[100];
scanf("%[^\n]", str);
char* p = str;
while (*p)
{
if (*p == ' ' || *p == ',' || *p == '.')
*p = '*';
p++;
}
printf("%s", str);
}

D. C语言逗号的作用

C语言提供一种特殊放入运算符----逗号运算符表达式1,表达式2逗号表达式的求解过程是:先求表达式1,再求表达式2.整个逗号表达式的值是表达式2的值,如表达式“3+5,6+8”的值为14。又如,逗号表达式:“a=3*5,a*4”,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3*5.经计算和赋值后得到a的值为15,然后求解a*4,得60.整个逗号表达式的值为60.逗号表达式的一般形式可以扩展为表达式1,表达式2,表达式3,。。。表达式n。它的值为表达式n的值逗号运算符是所有运算符中级别最低的。

E. C语言逗号问题

printf("Pleaseinputabc:");
scanf("%d%d%d",&a,&b,&c);//用空格隔开三个数

F. 这个C语言中的类试逗号的符号如何打出啊

这个就是逗号, 英文状态的半角逗号。
如果不一样,那就是字体的问题了,C语言代码中没有其它很另类的符号的。

G. C语言怎么在输入的两个数据之间加逗号

加了逗号,就是在输入时,两个数之间加逗号

~

H. c语言scanf输入时为什么不能用逗号隔开

c语言scanf输入时能用逗号隔开,但是输入数据的时候一定也要加上逗号。用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应。

对于标准输入函数scanf来说,括号内的格式字符串,也就是由" "中的部分,除了%引导的格式字符之外,所有的其他字符必须在输入数据时原样原位置输入。例如:

scaf("%d,%d",&a,&b);

两个%d之间的逗号就是普通字符,它必须在你输入a和b的值的时候,也输入到ab之间。输入如下:

5,6

如果不输入逗号,或者输入空格,输入均不会正确。



(8)c语言中输入语句中的逗号扩展阅读:

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。

如:scanf("%d%d",&a,&b);

函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;

如果只有a被成功读入,返回值为1;

如果a和b都未被成功读入,返回值为0;

如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。

I. 关于c语言的scanf函数的逗号问题!!

对于scanf()函数,如果格式控制串里有逗号(或其他非格式符号),键盘输入时,必须严格按照控制串的内容键入,不能随意输入。如scanf("a=%d,b=%d",&a,&b);响应输入是a=xx,b=xx(xx是整形数)。scanf()函数还有一个特点较为常用,该函数会将白字符(空格、<Tab>、<Enter>)作为数据间的分隔符,比如scanf("%d%s%d",&a,str,&b);,响应输入是:12asder33435,此后,12赋给a,"asder334"拷贝到str数组,35赋给b,且各个数据之间的空白符可以是一个,也可以是多个。

#include<stdio.h>
intmain(){
structstudent{
intnum;
charname[20];
floatscore;
}student1,student2;
scanf("%d%s%f",&student1.num,student1.name,&student1.score);
scanf("%d%s%f",&student2.num,student2.name,&student2.score);
if(student1.score>student2.score)
printf("%d,%s,%f ",student1.num,student1.name,student1.score);
elseif(student1.score<student2.score)
printf("%d,%s,%f ",student2.num,student2.name,student2.score);
else{
printf("%d,%s,%f ",student1.num,student1.name,student1.score);
printf("%d,%s,%f ",student2.num,student2.name,student2.score);
}
return0;
}