C 为什么printf不只打印ini字符串?
我需要将“ini”字符串复制到“final”字符串,反转字符顺序,但当我打印字符串“ini”时,它似乎同时打印“ini”和“final” 语言:CC 为什么printf不只打印ini字符串?,c,C,我需要将“ini”字符串复制到“final”字符串,反转字符顺序,但当我打印字符串“ini”时,它似乎同时打印“ini”和“final” 语言:C #include <stdio.h> void main(){ char ini[10]={'a','b','c','d','e','f','g','h','i','j'}; char final[10]; for (int i = 0; i < 10 ; i++) { final[i]=
#include <stdio.h>
void main(){
char ini[10]={'a','b','c','d','e','f','g','h','i','j'};
char final[10];
for (int i = 0; i < 10 ; i++) {
final[i]=ini[10-1-i];
}
printf("%s\n\n",ini);
printf("%s",final);
}
但应该是这样的:
abcdefghij
jihgfedcba
字符串需要空终止符
#include <stdio.h>
void main(){
char ini[11]={'a','b','c','d','e','f','g','h','i','j', 0};
char final[11];
for (int i = 0; i < 10 ; i++) {
final[i]=ini[10-1-i];
}
final[10] = 0;
printf("%s\n\n",ini);
printf("%s",final);
}
#include <stdio.h>
void main(){
char ini[11]={'a','b','c','d','e','f','g','h','i','j', 0};
char final[11];
for (int i = 0; i < 10 ; i++) {
final[i]=ini[10-1-i];
}
final[10] = 0;
printf("%s\n\n",ini);
printf("%s",final);
}
char ini[] = "abcdefghij";