c语言输入字符串用逗号分开

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

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




什么是ASP?
传送字符串到用户端的浏览器Response.write方法,是最常用的传送字符串到浏览器的方法。语法如下:Response.write 字符串以下的例子向用户打招呼:<% Response.write "欢迎光临"%>也可以用如下方法:<%...%>欢迎光临<%...%>链接到指定的URL地址使用Response.redirect方法,可以连接到指定的URL地址。语法如下:Response....

如何从键盘输入表达式给字符数组赋值
10]也是不存在的!2、char a[10]; a="hello";\/\/这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!还有:不能使用关系运算符逗==地来比较两个字符串,只能用strcmp() 函数来处理。

怎么样在excel中设置下拉菜单
比如在A1设置下拉菜单(北京,天津,上海)选择A1,数据>数据有效性>设置>允许>序列, “来源”输入“北京,天津,上海”(注意:输入半角逗点,不能使用中文的逗号 确定后,A1出现下拉箭头。点开便可实现选择性输入,OK.

django怎么变成汉语(2023年最新分享)
一般情况下,我会使用一个中文的verbose_name,由于中文不区分单复数,因此通常会将同一个中文字符串赋值给verbose_name和verbose_name_plural。比如,对于前面的逗BookReviewWeibo地类,可以写成: djangomysql中文乱码怎么办 创建所有.py文件时,编码方式都必须为UTF-8,且所有.py文件的最前面添加#-*-coding:utf-8-*- ...

密码的小知识
\/ _ - | \\ Unicode字符 ⅵ!和λ 请您使用易于自己记忆又不会被别人猜测到的字符串作为密码. 为了帮助您建立易于自己记忆又不会被别人猜测到的密码,请您尝试以下技巧: 1.请尽量设置长密码。请您设法设置便于记忆的长密码,您可以使用完整的短语,而非单个的单词或数字作为您的密码,因为密码越长,则被破解的可能...

什么叫全角字符?
B 全角与半角各在什么情况下使用?全角占两个字节,半角占一个字节。半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。在编程序的源代码中只能使用半角标点(不包括字符串内部的数据)在不支持汉字等语言的计算机上只能使用半角标点...

VB中 Format(x, "#") 是把x怎样格式化
如果格式中在数字占位符(0 或 #)周围包含有千分位符号,则指定的是标准的千分位符号使用法。两个邻近的千分位符号或一个千分位符号紧接在小数点左边(不管小数位是否指定),其意思为“将数值除以 1000,按需要四舍五入”。例如,可以用格式字符串 "##0,," 将 1 亿表示成 100。数值小于 1 ...

value是null 怎么回事
开辟内存空间A,存放参数名str, 开辟内存空间B,将B得地址存放到A里面,也就是说str有了指向,且其指向为内存空间B. 但是B空间里面的值为空。也就是说是个空字符串。综上两点的意思是 一个开辟了对象STRING, 但是没有任何值。str = ""一个没有开辟对象STRING。str = null 以上了解以后就可以...

python 出现这个错误是什么原因
打开文件的调用不使用模块搜索路径当你在Python中调用open()来访问一个外部的文件时,Python不会使用模块搜索路径来定位这个目标文件。它会使用你提供的绝对路径,或者假定这个文件是在当前工作目录中。模块搜索路径仅仅为模块加载服务的。不同的类型对应的方法也不同列表的方法是不能用在字符串上的,反之...

javascript包括(javascript包含哪三大部分)
(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。 (4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等...

同安区13212113343: c++中如何让编写让两个数字输入的时候用逗号隔开呢 -
顾罡衍行: C++兼容C语言的所有命令,所以,可以采用C标准函数sanf()来实现按规定格式来输入数字. 参考代码: #include <stdio.h> void main() {int a,b;scanf("%d,%d", &a,&b ) ; //格式串中以逗号分隔开两个格式串,表示输入数据必须以逗号分...

同安区13212113343: C语言,读入一行输入时,数据是以逗号分隔的,比如:1,2,3,4,5,6 如何把这些数据正确无误地读入? -
顾罡衍行: 如果是固定的个数 int a1,a2,a3,a4,a5,a6 scanf("%d,%d,%d,%d,%d,%d", &a1,&a2,&a3,&a4,&a5,&a6); 如果不是固定的个数,就需要有个数组用来遍历. int a[100]; // 最大100个数 int tmp = 0; // 假设-99表示结束输入 int i = 0;while ( (i < 100) && (tmp != -99)) { if (scanf("%d", &tmp) == 1) //如果读入了',' 则不会读入 a[i++] = tmp; }

同安区13212113343: 用C语言编程:使用指针变量实现将一个输入的字符串倒序输出,在每个字符之间用逗号加空格分隔.在线等 -
顾罡衍行: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27#include<stdio.h> #include<string.h> voidreversed(char*p); voidcopy(char*p); charp[20],t[20]; voidmain() {charstr[20];printf("输入字符串:\n");scanf("%s",&str);...

同安区13212113343: c语言,如何读取逗号分隔的字符串,将逗号间的字符串分别提取出来. -
顾罡衍行: 先将所有的读进来存在一个字符串中,然后用字符分割函数strtok()//具体可参见API 例如:char str[] = "now # is the time for all # good men to come to the # aid of their country";char delims[] = "#";char *result = NULL; result = strtok( str, ...

同安区13212113343: 在C语言中,如果要输入一串数字,其中每个数字用逗号隔开,且不知道总共输入了多少数字.要怎样输入呢? -
顾罡衍行: 先读1个整型数. 然后循环:读1个字符,如果字符是逗号则读1个整型数,如果不是逗号,循环就结束. 如果读整型数有错,循环也结束. #include<stdio.h> #include<stdlib.h> main(){ int x[100],n=0,i; int c; if ( scanf("%d",&x[n])==1) n++; while...

同安区13212113343: C语言分割字符串 -
顾罡衍行: char str[]={"11,22,33,44"}; int a,b,c,d; sscanf(str,"%d,%d,%d,%d",&a,&b,&c,&d);

同安区13212113343: 求助:在C语言中,输入一行用逗号分隔的数字之后,如何使用其中的数字呢? -
顾罡衍行: 我是这样想的..以字符串形式..读入所有数据..然后把这个字符串,以逗号为标志,分解掉..分解成若干个小串..然后再把每个小串里面的字符转化为数字..即可..代码正在生成当中..

同安区13212113343: C语言逗号的作用 -
顾罡衍行: C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值. 假设b=2,c=7,d=5, a1=(++b,c--,d+3); a2=++b,c--,d+3; 对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8. 对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3. 逗号运算符的优先级最小

同安区13212113343: C语言 输入5个数字,然后把它们从小到大输出,用逗号隔开. -
顾罡衍行: # include int main(void) { int i[5] = {0}; int j, k; for(j=0; j<5; j++) { printf("请输入第%d个数", j+1); scanf("%d", i+j); } for(j=0; j<4; j++) { for(k=0; k<4; k++) { if(i[k] > i[k+i]) { int l = i[k]; i[k] = i[k+1]; i[k+1] = l; } } } printf("%d, %d, %d, %d, %d\n", i[0], i[1], i[2], i[3], i[4]); return 0; }

同安区13212113343: C语言,直接输入一串整数,两两用逗号分隔,怎么把它们赋给一个数组 -
顾罡衍行: #include<stdlib.h> #include<stdio.h> int main() { int a[100]; int i = 0; while(scanf("%d", &a[i++]) != EOF) {//换行后再只能Ctrl+z 如 1,1,2 Enter Ctrl+z scanf(","); } i--; for(int j = 0; j < i; j++) printf("%d ", a[j]); system("pause"); return 0; }

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