C語言:每隔一秒,動態首尾依次輸出一個字元,直到全部輸出
阿新 • • 發佈:2019-01-09
#include<stdio.h> #include<stdlib.h> #include<windows.h> void Test() { char arr1[] = "###############"; char arr2[] = "welcome to bit!"; int len = strlen(arr1); /*int len = sizeof(arr1) / sizeof(arr1[0]);*/ int i = 0; int left = 0; int right = len - 1; while (left <= right) { arr1[left] = arr2[left]; arr1[right] = arr2[right]; left++; right--; printf("%s", arr1); printf("\n"); Sleep(1000); } } int main() { Test(); system("pause"); return 0; }
注意:
int len = strlen(arr1);
/*int len = sizeof(arr1) / sizeof(arr1[0]);*/
不可以!!!
因為sizeof求取字串長度時有‘\0‘長度。
strlen求取字串長度時無'\0'長度,但也要遇到’\0‘才結束。因此:
arr[10] = {'a','b','c'} strlen(arr) = 隨機值
sizeof(arr) = 3