【发布时间】:2011-12-23 08:54:44
【问题描述】:
我在另一项作业中遇到了麻烦,我的字符串将打印为无意义的符号,例如菱形中的问号或随机字符。
这次我要努力了
char *word = "blah";
printf("word: %s", word);
这让我胡言乱语,甚至与单词的长度都不一样。我已经包含了 string.h。
我要做的是获取一个字符串,一次将两个字母附加到字符串的前面或后面,然后从字符串的后半部分提取字符。使用如下方法追加:
int len = strlen(word);
word[len] = 'd';
另外,我如何提取最后两个字符?我假设我会通过获取单词的 strlen 并将其转换为字符数组并从索引复制到索引来提取它。有没有更好的办法?另外,随机问题:我什么时候使用'\0'?这种情况下需要吗?
非常感谢任何可以帮助我的人。
【问题讨论】:
-
请张贴打印出乱码的代码。关于追加,除非您使用的 char 数组分配了足够的空间,否则您不能说 word[len]。如果你说 char *word = "hello";并尝试附加一个字母......这是个坏主意!
-
仅供参考,
word指向的字符串文字blah位于只读位置,不可修改。事实上它是 -const char* word = "blah";
标签: c string random character extraction