以下程序程序执行后的输出结果是()。 #include<stdio.h> void fun1(char *p) { char *q; q=p; while(*q!="\0") { (*q)++; q++; } } int main() { char a[]={"Program"),*p; p=&a[3]; fun1(p); printf("%s\n",a); return 0; }
时间: 2024-04-29 07:19:02 浏览: 58
程序执行后的输出结果是"Provnun"。原因是在fun1函数中,把指针q指向了字符串p,并不断将指针所指的字符加1,直到遇到字符串结束符"\0"为止。在主函数中,p指向了字符串a的第4个字符"gram",因此fun1函数会将"gram"之后的字符都加1,包括字符串结束符"\0",所以最终输出的结果是"Provnun"。
相关问题
这样开头写:#include <stdio.h> #include <stdlib.h> void PutRes(void); int fun(char *); int fun (char *p)
这段代码的开头定义了两个头文件:stdio.h 和 stdlib.h。这两个头文件分别提供了标准输入输出函数和内存管理函数的声明。
接下来是函数 PutRes 的声明,返回值为空,没有参数。注意,在 C 语言中,如果一个函数没有参数,需要在参数列表中显式地写上 void。
接下来是函数 fun 的声明,它有一个 char 类型的指针参数 p,返回值为 int 类型。这个函数的具体实现并没有给出,只是声明了函数名、参数和返回值类型。
#include<string.h> #include<stdio.h>#define N 81 void fun (char s[])
好的,我来补充一下这段代码的内容。
首先,这段代码使用了两个标准库头文件 `string.h` 和 `stdio.h`,分别用于处理字符串和进行输入输出操作。
然后,使用 `#define` 定义了一个常量 `N`,其值为 81。这个常量通常用于定义字符数组的长度,以确保不会超出其范围。
接下来是函数声明 `void fun (char s[])`,其中 `char s[]` 表示一个字符数组参数,这个函数可能会对这个字符数组进行操作。
最后,由于没有完整的代码,我无法确定 `fun` 函数的实现方式。但是可以猜测,由于这个函数的参数是一个字符数组,它可能会对这个字符数组进行某些操作,比如统计其中的字符数量、反转字符串等等。
阅读全文