下面程序的输出结果是( ) #include<stdio.h> void main() { char s[]="abcd"; printf("%c\n",*s+2); } A. c B. d C. a D. b
时间: 2024-05-18 14:13:31 浏览: 142
选项 B,输出结果为字符 `'c'`。
程序中定义了一个字符数组 `s`,并将其初始化为字符串 `"abcd"`。然后,使用 `printf` 函数输出了字符 `*s+2`,即数组 `s` 的第一个元素(即字符 `'a'`)的 ASCII 码值加上 2 对应的字符。字符 `'a'` 的 ASCII 码值为 97,加上 2 后为 99,对应的字符为字符 `'c'`。
因此,程序的输出结果是字符 `'c'`,选项 B 正确。
相关问题
#include <stdio.h> #include <string.h> void main() { char* p1, * p2, str[50] = "ABCDEFG"; p1 = "abcd"; p2 = "efgh"; strcpy(str + 1, p2 + 1); strcpy(str + 3, p1 + 3); printf("%s", str); }
这段代码的输出结果为"EFGhfghG"。
首先,定义了两个指针变量p1和p2,以及一个字符数组变量str,并将str初始化为"ABCDEFG"。
接下来,将p1指向字符串"abcd",p2指向字符串"efgh"。
然后,执行了两次strcpy函数,第一次将p2+1(也就是"fgh")的内容复制到str的第二个位置(str[1]),因此str变为"AfghDEFG";第二次将p1+3(也就是"d")的内容复制到str的第四个位置(str[3]),因此str变为"EFGhfghG"。
最后,使用printf函数打印出str的值,输出为"EFGhfghG"。
#include<stdio.h> void main() { char s[]="abcd"; printf("%c\n",*s+2); }
这段代码的输出结果为字符 `'c'`。
首先,定义了一个字符数组 `s`,并将其初始化为字符串 `"abcd"`。然后,使用 `printf` 函数输出了字符 `*s+2`,即数组 `s` 的第一个元素(即字符 `'a'`)的 ASCII 码值加上 2 对应的字符。字符 `'a'` 的 ASCII 码值为 97,加上 2 后为 99,对应的字符为字符 `'c'`。
因此,这段代码的输出结果为字符 `'c'`。
阅读全文