#include <iostream> using namespace std; int fun(char*s); int main(){ cout<<fun("Hello"); return 0; } int fun(char*s){ *s='h'; return *s; }
时间: 2024-02-23 16:02:45 浏览: 74
这段程序的功能是将字符串 "Hello" 的第一个字符 'H' 改为小写字母 'h',然后返回该字符的 ASCII 码值。具体来说,程序首先调用 `fun` 函数,并将字符串常量 "Hello" 的首地址作为参数传递给该函数。在函数体内,将指针 `s` 所指向的字符改为 'h',然后返回该字符的 ASCII 码值。由于字符 'h' 的 ASCII 码值为 104,因此程序的输出结果是:
```
104
```
需要注意的是,函数 `fun` 中的指针操作会修改字符串常量 "Hello" 的内容,这是一种不安全的做法,容易引起程序错误。正确的做法应该是将字符串常量复制到一个字符数组中,并在该数组上进行修改。
相关问题
#include <iostream > using namespace std; int fun(char *s); int main() { cout<<fun(“Hello”); return 0; } int fun(char *s) { *s=’h’; return *s; }
这段程序运行时会出现编译错误,因为字符串常量 "Hello" 中的双引号使用的是中文的引号符“”,而不是英文的双引号符号"",导致编译器无法识别该字符串常量。应该将该行代码修改为:
```
cout << fun("Hello");
```
此外,该程序中的函数 `fun` 接受一个字符指针作为参数,并将指针所指向的字符改为小写字母 'h',然后返回该字符的 ASCII 码值。因此,当程序输出 `104` 时,表示字符 'h' 的 ASCII 码值为 104。
运行程序,分析程序结果(考察:字面常量) #include <iostream > using namespace std; int fun(char *s); int main() { cout<<fun(“Hello”); return 0; } int fun(char *s) { *s=’h’; return *s; }
这段程序运行时会出现编译错误,因为字符串常量 "Hello" 中的双引号使用的是中文的引号符“”,而不是英文的双引号符号"",导致编译器无法识别该字符串常量。应该将该行代码修改为:
```
cout << fun("Hello");
```
此外,该程序中的函数 `fun` 接受一个字符指针作为参数,并将指针所指向的字符改为小写字母 'h',然后返回该字符的 ASCII 码值。因此,当程序输出 `104` 时,表示字符 'h' 的 ASCII 码值为 104。
阅读全文