赋值
#include<ctype.h>#include<stdio.h>
#include<string.h>
void fun(char *p)
{
int i,t;
char ts;
for(i=0,t=0;p!='\0';i+=2)
if(!isdigit(*p+i)&&(*(p+i)!='a'))
ts=toupper(p);
ts='\0';
strcpy(p,ts);
}
int main()
{
char str={"a1b2c3d4ef5g"};
fun(str);
puts(str);
return 0;
}
为什么5也被赋值了,当p指向5时循环条件里if不符合,为什么5会被赋值过去 本帖最后由 jackz007 于 2022-10-16 18:06 编辑
问题出在第 9 行:
if(!isdigit(*(p+i))&&(*(p+i)!='a'))// !isdigit(*p+i) 应为 !isdigit(*(p+i))
页:
[1]