//就输出89,129,一共2个数。
# include<stdio.h>
int main()
{
char str[80],*pstr;
int i=0,flag=1,num=0;
*pstr=str;
gets(str);
while(flag==1)
{
for(i=0;*(str+i)!='\0';i++)
{
if('0'<=*(str+i)&&*(str+i)<='9')
num=num+(*(str+i)-48);
}
flag=0;
while(flag==0)
{
printf("%d,",num);
flag=1;
}
}
getch();
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[80],*pstr;
int i=0,flag=0,num=0;
pstr=str;
gets(str);
for(i=0;*(str+i)!='\0';i++)
{
if('0'<=*(str+i)&&*(str+i)<='9')
{
flag = 1;
num=num*10+(*(str+i)-48);
}
else
{
if (flag == 1)
{
printf("%d,",num);
flag = 0;
num = 0;
}
}
}
printf("%d",num);
getchar();
}
头文件是不是要加上
#include
getch()函数在conio.h中。
产生了非法的内存使用
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
int main()
{
char str[80] = {0}, *pstr = NULL;
int i=0,flag=1,num=0;
pstr=str;
gets(str);
while(flag==1)
{
for(i=0;*(str+i)!='\0';i++)
{
if('0'<=*(str+i)&&*(str+i)<='9')
num=num+(*(str+i)-48);
}
flag=0;
while(flag==0)
{
printf("%d,",num);
flag=1;
}
}
getch();
}
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
int main()
{
char str[80] = {0};
gets(str);
char* pstr=str;
for(;*pstr != '\0'; ++pstr)
{
bool flag = false;
char ch = *pstr;
if(('0' <= ch) && ('9' >= ch))
{
flag = true;
printf("%c", ch);
}
if(flag)
{
ch = *(++pstr);
if(ch != '\0')
{
if(('0' <= ch) && ('9' >= ch))
{
printf("%c", ch);
}
else
printf(",");
}
}
}
getch();
}
没有明白你要做什么,这个是一个无限循环,另标准C(c99)中“*pstr=str;”这一句一般都是有问题的,字符串不支持这样赋值
页面太烂了,点击没有反应,反应过来这么多
你访问了非法内存,所以会有这种情况。
重复这么多个,吓尿了。pstr=str才对吧