C语言笔试例题 |
您所在的位置:网站首页 › 邮政编码结构题目例题 › C语言笔试例题 |
C语言笔试例题_指针专练30题(附答案解析)
指针一直是C语言的灵魂所在,是掌握C语言的必经之路,收集30道C语言指针题目分享给大家,测试环境位64位ubuntu18.04环境,如有错误,恳请指出,文明讨论!!! 文章目录 C语言笔试例题_指针专练30题(附答案解析)1.笔试例题2.结果与分析总结 1.笔试例题答案与解析在文末尾 1.char * p =“Hello”;是定义初始化指针变量,指针变量的值是一个字符串.说法是否正确 A :正确 B:不正确 2.以下代码printf 输出是什么? void main (void) { int a[]={4,5,6,7,8}; int *p = a; *p++ += 100; printf(" %d %d \n" , *p,*(++p)); }3.若定义:int a[2][3]={1,3,5,7,9,11},以下描述正确的是 A :*(a+1)为元素7的地址 B:(a[1]+1)的值是5 C:**(a +1)+2值是11 D:a[0]和a不同 4.以下代码printf 输出是什么? int main() { int a[5] = { 1, 2, 3, 4, 5 }; int* ptr = (int*)(&a + 1); printf("%d,%d", *(a + 1), *(ptr - 1)); return 0; }5.说出以下代码的错误之处,并说明原因 char *getmemory( void ) { char p[] = "hello world"; return p; } void test( void ) { char *str = NULL; str = getmemory(); printf( str ); }6.在上下文及头文件均正常的情况下,下列代码的输出是?(注:print已经声明过) main() { char str[] = "Geneius"; print (str); } print(char *s) { if(*s) { print(++s); printf("%c", *s); } }A :suiene B:neius C:run-time error D:suieneG 7.如下代码是否存在风险,并说明原因和修改方式 #include int main () { //hello world 存放在常量区是不可以修改的 char * str = "hello world"; *str = 'a'; // error return 0; }8.如下代码是否可行,说明原因 #include int main () { char str[4]; str = "abc"; return 0; }9.如下代码输出是什么 #include #include int main(){ char *str = "baidu.com"; int i ; str = "hello world!"; int len = strlen(str); printf("%d \n",len); printf("%c \n", *(str+4)); printf("%s \n",(str+6)); return 0; }10.以下程序的输出结果(32位机器上)是() int main(){ char *p = "abcdefgh", *r; long *q; q = (long*)p; q++; r = (char*)q; printf("%s\n", r); }A :abcd B:bcde C:cdef D:efgh 11.对于char * pa[7]的描述中,正确的是( ) A :pa是一个指向数组的指针,所指向的数组是7个char型元素 B:pa是一个指向某数组中第7个元素的指针,该元素是char型变量 C:pa[7]表示数组的第7个元素的值,是char型的值 D:pa是一个具有7个元素的指针数组,每个元素是一个char型指针 12.如下代码输出是什么 #include void fun(char **p) { int i; for (i = 0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |