#include <stdio.h> #include <string.h>
/* 程序名称:计算大使 功能描述:能够计算出各种的数据类型在内存中所占的字节数
*/
int main(int argc, char* argv[]) { char szInput[1001]; char ch;
// 使用说明:
printf("*************************************************************************\n"); printf(" 计算大使 \n"); printf("功能描述:输入数据类型,输出数据类型在内存中所占的字节数 \n"); printf("可以计算的数据类型有:char int long float double \n"); printf("输入:quit 退出程序 \n\n"); printf("*************************************************************************\n");
while(1) {
printf("\n数据类型:");
// 解决 c 中的字符输入问题
for(int i=0; i<1000; i++) { scanf("%c", &ch);
// 当输入回车键时,得到ch 的值是10
if(ch == 10) { break; } szInput[i] = ch; szInput[i+1] = '\0';
}
if(!strncmp(szInput, "quit", 4)) { break; }
if(!strncmp(szInput, "char", 4)) { printf("char 型数据在内存中所占的空间是:%d \n ", sizeof(char)); continue; }
if(!strncmp(szInput, "float", 5)) { printf("float 型数据在内存中所占的空间是:%d \n ", sizeof(float)); continue; }
if(!strncmp(szInput, "double", 6)) { printf("double 型数据在内存中所占的空间是:%d \n ", sizeof(double)); continue; }
if(!strncmp(szInput, "int", 3)) { printf("int 型数据在内存中所占的空间是:%d \n ", sizeof(int)); continue; }
if(!strncmp(szInput, "long", 4)) { printf("long 型数据在内存中所占的空间是:%d \n ", sizeof(long)); continue; }
if(!strncmp(szInput, "long int", 8)) { printf("long int 型数据在内存中所占的空间是:%d \n ", sizeof(long int)); continue; }
if(!strncmp(szInput, "short", 5)) { printf("short 型数据在内存中所占的空间是:%d \n ", sizeof(short)); continue; }
else { printf("您输入的 %s 数据类型不存在! \n ", szInput); }
}
return 0; }
|