【发布时间】:2011-06-03 09:28:54
【问题描述】:
如何在s 中访问s[7]?
我没有发现strncpy 和memcpy 之间有任何区别。如果我想打印输出s,以及s[7](如qwertyA),我必须在以下代码中进行哪些更改:
#include <stdio.h>
#include <stdlib.h>
int main() {
char s[10] = "qwerty", str[10], str1[10];
s[7] = 'A';
printf("%s\n", s);
strncpy(str, s, 8);
printf("%s\n", str);
memcpy(str1, s, 8);
printf("%s\n", str1);
return 0;
}
输出:
qwerty
qwerty
qwerty
【问题讨论】:
-
尝试在上面的代码中交换
memcpy和strncpy。然后体验不同。 -
另一个区别是类型检查和返回的类型。在其他情况下很重要,这里不重要。