我正试图使用printf函数从传入函数的指针打印字符串。
printf("%s\n", strng[1]);
strng由调用方传入。这是一个前面有空格的字符串,我想删除这个空格。所以我有下面的代码。
for(i=0; i<slength -1; i++) {
printf("%s\n", strng[1]);
tstr[i] = strng[i+1];
printf("%s\n", tstr);
}
tstr[slength] = 0;
它一直给我一个访问违规错误,我不明白为什么。如果我取出printf行,那么我可以运行代码,但是返回字符串tstr的末尾总是有一个额外的字符。输出如下所示。
bp185080
9
bªM
bpM
bp1
bp18─
bp185
bp1850K
bp18508
bp185080=::=::\
bp185080=
我该如何摆脱空白而不需要额外的字符?
最佳答案
你基本上是想用一个字符作为指针。用strng[1]
或&strng[1]
替换strng + 1
。