演示多个字符从两端移动,向中间汇聚。
#include<stdio.h> int main() { char a[] = { "hello world!!!!!" }; char b[] = { "#################" }; int right = sizeof(a) / sizeof(a[0]) - 2; int left = 0; while (left <= right) { b[left] = a[left]; b[right] = a[right]; printf("%s\n", b); left++; right--; } return 0; }
这种打印效果太快,是将所有的行一次性输出
我们使用Sleep函数,头文件是<windows.h>,并给sleep函数赋值为1000,这样我们就可以一行一行输出
我们也可以让程序输出的时候,在输出本句时,将上一句清楚,这个时候我们用system(cls),进行清屏,它的头文件是<stdlib.h>
尝试登陆密码
模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则 提示登录成,如果三次均输入错误,则退出程序。
#include<stdio.h> int main() { char a[20]; int i = 0; while (i < 3) { printf("请输入密码:"); scanf("%s", a); if (strcmp(a, "1234567") == 0) { printf("\n登陆成功"); return 0; } else { printf("\n密码错误"); i++; } } if (i == 3) printf("\n三次机会已用完"); return 0; }
这里有strcmp进行判断密码是否正确,strcmp是比较两个字符串的大小,一个字符一个字符比较,按ASCLL码比较
标准规定:
第一个字符串大于第二个字符串,则返回大于0的数字
第一个字符串等于第二个字符串,则返回0
第一个字符串小于第二个字符串,则返回小于0的数字