我一直有麻烦与此另一个作业,我的字符串将printf作为荒谬的符号,就像钻石或随机字符中的问号。字符串显示为奇怪的符号
这一次,我试图做
char *word = "blah";
printf("word: %s", word);
这给我废话,是不是即使是相同长度的字。我已经包含string.h。
我想要做的是取一个字符串,每次追加两个字母到字符串的前面或后面,然后从字符串的后半部分提取字符。使用下面的方法来追加:
int len = strlen(word);
word[len] = 'd';
而且,我如何提取说的最后两个字符?我假设我通过获取单词的大小并将其转换为字符数组并从indice复制到indice来提取它。有没有更好的办法?另外,随机问题:我何时使用'\ 0'?在这种情况下需要吗?
非常感谢任何能帮助我的人。
请张贴打印出乱码的代码。关于追加,除非您使用的char数组有足够的空间分配,否则不能说单词[len]。如果你说char * word =“hello”;并尝试追加一封信...这是一个坏主意! –
仅供参考,由'word'指向的字符串文字'blah'位于只读位置,不可修改。事实上,它是 - 'const char * word =“blah”;' – Mahesh
显示您的完整代码 –