# 题目:要求将字符串中的每一段数提取出来存到数组a中,然后将a数组输出
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char string[99];
scanf("%s", string);
char* p = string;
int i = 0;
int n = 0;
int m = 0;
char a[99] ;
while (p[i] != '\0')
{
if ((int)p[i] >= 0) {
if ((int)p[i] <= 9) {
n = 10 * n + ((int)p[i]);
}
}
else {
a[m] = n;
m++;
n = 0;
}
i++;
}
int k = 0;
while (k<=m)
{
printf("%d ",(int)a[k]);
k++;
}
printf("\n%d", k);
printf("\n%d", i);
return 0;
}
#
a4d5d8
-52
1
6
#问题出现在了这一段
while (p[i] != '\0')
{
if ((int)p[i] >= 0) {
if ((int)p[i] <= 9) {
n = 10 * n + ((int)p[i]);
}
}
那个n不知道怎么回事在p【i】符合上面的条件时,不能进行 n = 10 * n + ((int)p[i]); 这一步,这是怎么回事呢,调试就是在那直接把这一句略过了