答:泛型指针,但不规定其类型(就是地址确定,但数据长度不确定)在动态分配内存时,malloc的返回值就是该类型,方便用户进行强制转换。
for(i=0;i<10;i++)enter后,打上{}就自动变了
1.偶数一定不是素数,外层循环条件可以改为:for(i=101;i<=200;i+=2)
2.一个数乘积的两个因子一定有一个数小于等于这个数的开方,如下图:
最终优化代码:
注意点:素数:只能被1和自身整除的正整数
求素数时数字1(不是素数)、2(是素数)的特殊性
1.如果要求1-200的素数,最外循环可以直接从i=2开始(1不是素数)
2.利用flag,即使这个数是2(2是素数,第1条直接把1排除掉了)也可以选出来
第一次大循环i=0时 j=0,1,2,3,4 printf()????? 第二次大循环i=1时 j=5?? 5<5 不满足条件跳出循环
1.用do while可以减少判断
int cnt=0;
do
{
cnt++;
num/=10;
}while(num);???????????
//即使num==0时,最终的cnt==1
2.用while时,需要多加一个判断
int cnt=0;
if(num == 0) cnt=1;
while(num)
{
cnt++;
num/=10;
}