求大佬帮一下萌新
#include<stdio.h>int main()
{
char s;
int v;
int i=0;
while(1)
{
s=getchar();
if(s==',')
{
s='\0';
break;
}
i++;
}
scanf("%d\n",&v);
printf("%d\n",v);
return 0;
}
想请问一下大佬,这串代码的原理和后面那个scanf是发挥什么作用的 你这代码感觉一点意义都没有
你前面是给char s赋值,输入一段字符串,截取逗号前面的内容
比如输入 abc,d那么s = abc
后面就给另一个变量赋值,s 也没用到,而且还出现bug,因为你这次的scanf接收的是上一次的回车,所以相当于没有用
scanf("%d\n",&v);
是不能用换行符的 大马强 发表于 2021-10-26 22:24
你这代码感觉一点意义都没有
你前面是给char s赋值,输入一段字符串,截取逗号前面的内容
比如输入...
可是当我输入这串@#1wer+IPD,6,00,AA,BB??字符串时,它能够精准的识别并输出IPD后的数字6,这是为什么? 紫苑天星 发表于 2021-10-27 16:23
可是当我输入这串@#1wer+IPD,6,00,AA,BB??字符串时,它能够精准的识别并输出IPD后的数字6,这是为什么?
是我看错了抱歉
输入这个的话 @#1wer+IPD,6,00,AA,BB?? 确实可以打印一个6.
scanf("%d\n",&v);
如果你输入了
123,
4 5
这样就会多输入了一次,打印的结果还是4
大马强 发表于 2021-10-27 20:02
如果你输入了
123,
4 5
要是我想问一下,为什么它能精准识别出来那个6呢? 紫苑天星 发表于 2021-10-27 20:56
要是我想问一下,为什么它能精准识别出来那个6呢?
它是不是在第一个逗号那里终止,然后就打印逗号后面的那个整形? 紫苑天星 发表于 2021-10-27 20:58
它是不是在第一个逗号那里终止,然后就打印逗号后面的那个整形?
是的
页:
[1]