c语言 怎么把子串变成数字 (子串里字符还不知道是啥,但知道其位置)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 怎么把子串变成数字 (子串里字符还不知道是啥,但知道其位置)相关的知识,希望对你有一定的参考价值。

我知道有atoi函数,但这个函数只能对整个字符串来说,我现在的问题其实是怎么截取某一子串把他变成数字

参考技术A 你好!截取的位置和长度是一定的吗?追问

是的,可以判断出来其位置

C语言,如何将一个个输入的数字变成一串数字一起输出来,求解~

比如我在一个循环getcha()的循环体中; 然后我输入1 2 3 4 5 6, 那么怎样才能使输出结果为 NUMBER:123456 呢?

#include<stdio.h>

int main(void)

char c;
long num = 0;

while((c = getchar()) != '\\n')

if(c >= '0' && c <= '9')

num = num * 10 + (c - '0');



printf("num = %d\\n", num);

代码比较简单,就不写注释了,相信你能看懂。

希望对你有所帮助。

参考技术A 1: 只是打印的话,就printf("Number: %c%c%c%c%c%c", c1, c2, c3, c4, c5, c6);
2: 在循环体前声明String str = "NUMBER: "; 在循环体内拼接起来 str += getcha(); 最后打印str
3: 把123456变成整数再打印。具体怎么变 O(∩_∩)O。。。 自己想
参考技术B #include "stdio.h"
int main()

char ch;
int n=0;
ch=getchar();
while(ch!='\n')
n=n*10+ch-'0';

ch=getchar();

printf("%d\n",n);

参考技术C int *a;
static int len =0;
void getcha(int num)


if(num >=0)

*(a+len) = num;


void main()

int val=0;
while(val>=0)

scanf("%d",val);
getcha(val);

for(int i=0;i<len;i++)

printf("NUMBER:");
printf("%d",*(a+i));

以上是关于c语言 怎么把子串变成数字 (子串里字符还不知道是啥,但知道其位置)的主要内容,如果未能解决你的问题,请参考以下文章

C语言,如何将一个个输入的数字变成一串数字一起输出来,求解~

在C语言中,如果要输入一串数字,其中每个数字用逗号隔开,且不知道总共输入了多少数字。要怎样输入呢?

c语言 把某一字符串中的其中一段字符串替换成另一串字符串。

C语言找出最长的字符串。输入5个字符串,输入其中最长的字符串。

C语言如何实现取字符串的一部分?

数字串