C语言问题,请编写函数fun,函数的功能是把字符串中的数字加1

请编写函数fun,函数的功能是把字符串中的数字加1(若加1超过9则为0),其他字符保持不变小。例如:字符串中原有的内容为:abcABd24e9fg,则调用该函数后,串中的内容为:abcABd35e0fg。

思路:遍历字符数组,判断字符是否是数字,如果是进行相关操作,最后输出字符串数组即可。

参考代码:

#include <stdio.h>
#include<string.h>
void fun(char a[]){
int i;
for(i=0;i<strlen(a);i++)
if(a[i]>='0'&&a[i]<='8') a[i]++;
else if(a[i]=='9') a[i]='0';

int main()
{
    char a[100];
    gets(a);
    fun(a);
    puts(a);
    return 0;
}
/*
运行结果: 
abcABd24e9fg
abcABd35e0fg
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-31
char * fun(char * str)
{
    char * r = str;
    while(*str)
    {
        if('0' <= *str && *str <= '9') // 数字判断
        {
            *str += 1;
            if(*str > '9') *str = '0';
        }
        str++; // 处理下一个
    }
    return r;
}

本回答被提问者采纳