ポインターを使用してある文字列から別の文字列にコピーする次のコードを書きました。
#include<stdio.h>
int main() {
char strA[80] = "A string to be used for demonstration purposes";
char strB[80];
char *ptrA;
char *ptrB;
ptrA = strA;
ptrB = strB;
puts(ptrA);
while(*ptrA != '\0') {
*ptrB++ = *ptrA++;
}
*ptrB = '\0';
puts(ptrB); // prints a new line.
return 0;
}
puts(ptrB)
改行だけを出力するのはなぜですか? ただしputs(ptrA)
、 の値を出力しますstrA
。