使用字符串拼接,使用输入流预判和返回
#include<stdio.h> #include<string.h> int main(){ char input[9];//用于接收输入 char zPadding[9]="";//用于构建'0'填充串 char tLF='\0';//用于判断换行,初始为空 int len=0,i=0; while(i<2 && scanf("%8s",input)){//每次最多读8个字符 len=strlen(input);//看看读了几个字符 if(len<8){//没够8个 memset(zPadding,'0',8);//全设置为字符0 zPadding[8-len]='\0';//在末尾置空字符,标志字符串结束 strcat(input,zPadding);//把输入和填充连起来构成8个字符输出 } printf("%s\n",input); //看看有没有换行,换行2次就退出程序 scanf("%c",&tLF); if(tLF=='\n')i++; else ungetc(tLF,stdin);//如果没有换行把字符还回标准化输入 } }