int main()
{
int letter, blank, digit, other;
char a[10];
int i;
letter = blank = digit = other = 0;
for (i = 0; i < 10; i++)
scanf("%c", &a[i]);
for (i = 0; i < 10; i++)
{
if (a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <='Z')
letter++;
else if (a[i] == ' ' || a[i] == '\n')
blank++;
else if (a[i] >= '0' && a[i] <= '9')
digit++;
else
other++;
}
printf("letter = %d, blank = %d, digit = %d, other = %d", letter, blank, digit, other);
return 0;
}
a是一个字符数组,i是下标,a[i]代表数组中下标为i的元素(下标从零开始)
int a[10] = { 30,1,22,64,7,85,3,4,5,9 };
int* p1 = a;
//指针变量存储的是地址,C语言用数组名简化表示数组的首地址
p1 = &a[3];//*p1直接指向地址对应的值a[3]
printf("*(p1 + 2)加的不是数值而是偏移量\n");
printf("% d\n", *p1 + 2);
printf("*p1与2都是数字,是数值相加,加的是值64+2=66\n");
总结: