我在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;
}
答案 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;
}
你正在与一个永远是真的指针进行比较