作业
①使用break关键字,完成求[3-100]中的质数
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int a[100];
int *p=a;
int i,j,n=0;
printf("3--100内的质数----->\n");
for(i=3;i<=100;i+=2)
{
for(j=2;j<i;j++)
{
if(i%j==0)
break;
}
if(i==j)
{
*(p+n)=i;
n++;
}
}
for(i=0;i<n;i++)
{
printf("%-5d",*(p+i));
}
putchar(10);
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/d30a6768ab9fa0cf0e60fef37de5e0e5.png)
②有以下定义,说明哪些量可以改变哪些不可以改变?
const char *p;
const (char *) p;
char *const p;
const char* const p;
char const *p;
(char *) const p;
char const* const p;
-
const char *p; 这里定义了一个指向常量字符的指针p
指针指向的内容不可变
-
const (char *) p; 这是错误的。不能在声明时对类型进行部分应用。正确的声明应该是const char* p;
-
char *const p; 这里定义了一个常量指针指向字符。指针的指向不可变
-
const char* const p; 这里定义了一个常量指针指向常量字符。指针指向的内容和指针的指向都不可变
-
char const *p; 这个定义与第一个定义相同,因为char const *p;
可以被简化为const char *p;
指针指向的内容不可变
-
(char *) const p; 这是错误的。正确的声明应该是char* const p;
-
char const* const p; 这里定义了一个常量指针指向常量字符。指针指向的内容和指针的指向都不可变