使用C语言将数字添加到ascii字符串

时间:2015-09-13 22:17:18

标签: c

我在C中有一个字符串,我需要为字符串中的每个字符添加+1。例如,我希望abc def成为bcd efg。我希望将其作为abc def | ./myprog

运行

这是我的代码,我似乎无法弄清楚问题是什么:

#include <stdio.h>
#include <string.h>

int main (int argc, char *argv[]) {
    char stringline[200];
    char result[200];
    int lengthofstr;
    int i;

    scanf("%s", &stringline);
    lengthofstr = strlen(stringline);
    for(i=0; i < stringline; i++) {
        stringline[i] = (stringline[i] + 1);
    }
    printf("%s", stringline);

    return 0;
}

2 个答案:

答案 0 :(得分:1)

看起来像一个典型的拼写错误。取代

for(i=0;i<stringline;i++){ 

for(i=0;i<lengthofstr;i++){ 

答案 1 :(得分:0)

与字符串的长度进行比较,而不是与数组本身进行比较

#include <stdio.h>
#include <string.h>

int main (int argc, char *argv[]){
    char stringline[200];
    int lengthofstr;
    int i;

    scanf("%199s", &stringline);
    lengthofstr = strlen(stringline);
    for(i=0;i<lengthofstr;i++){     // Modify HERE
        stringline[i] = (stringline[i] + 1);
    }
    printf("%s", stringline);

    return 0;
}

你正在与一个永远是真的指针进行比较