#include <stdio.h>
#include <string.h>
void fun(char*str)
{
char temp; int n,i;
n=strlen(str);
temp=str[n-1];
for(i=n-1;i>0;i--) str[i]=str[i-1];
str[0]=temp;
}
main()
{
char s[50];
scanf(”%s”,s); fun(s); printf(”%s\n”,s);
}
程序运行后输入:abcdef<回车>,则输出结果是?
这里 是将s 传给 char*str 吗?是传什么过去?是传&s[0]呢?还是什么?并且能否分析下这题解法。谢谢!!!回答的好可以追分。
char s[50] 的意思是字符串长度为50么?那为什么输入abcdef后 n=6呢?
追答这2个追问的问题太难了,我就不回答了.
本回答被提问者采纳c语言有一道题不会做,求高手解,最好分析一下。
答案是:C 因为scanf("%c%c",&a,&b);接收的是1和2,在输入后按了“回车”这个回车符会传递到下一句,也就是:c=getchar(); ,这样 c 赋值为回车符了;d=getchar(); 接着就是这句,你输入34的时候,d 只接收单个字符,也就是 3 ;所以最后的输出是:12 3 ...
C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...
求C语言高手解答
c是比较智能的,当他明确知道一个表达式的值时,剩下的式子不会再进行运算。比如&&运算,当两个值其中一个为0时,他就是0了,第二个式子就不用运算,由于a=5,b=6 (m=a>b)相当于(m=5>6)所以,m=0所以表达式(m=0)的值为0 所以(m=a>b)&&(n=c>d)的值就是0 所以n=c>d没有运算...
在下是C语言初学者,想请教高手一个问题?(有关对奇数方魔阵如何用动态...
x=n-1;y=n\/2;array[x*n+y]=1;flag[x*n+y]=1;for(i=2;i<=j;i++){ if(x==y&&x>=n-1){ x--;} elseif(x>=n-1){ x=0;y++;}elseif(y>=n-1){ y=0;x++;}elseif(flag[(x+1)*n+y+1]==1){ x--;}else{ x++;y++;} array[x*n+y]=i;flag[x*n+y...
求C语言高手帮我看一个简单的问题!
这个就是for循环的运行机制造成的 for中 先d=1 接着判断d<=i成立,因为i=1,所以进入循环体 运行d*=r,这里d变成10 接着运行d++,d变成11 接着再判断d<=i不成立,所以退出for循环,那么d最终结果是11了?明白吗?
c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者...
请各位C语言高手帮忙解决下面的问题。
return binary_find(a, target, low, (low + high)\/2 - 1);} else { return binary_find(a, target, (low + high)\/2 + 1, high);} } int main(){ int a[15] = {0};int i = 0;int ret = 0;int target = 0;printf("请输入15个数:\\n");for(i=0; i<15; i++){...
C语言的问题,高手快进来啊
1、include <stdio.h> main(){ int i,n, sum = 0;printf("请输入一个四位数:");scanf("%d", &n);for(i=1;i<=4;i++){ sum += n % 10;n \/= 10;} printf("每一位数字相加和为:%d\\n", sum);return 0;} 2 、include <stdio.h> main(){ int a,b;scanf("%d %d"...
请教C语言高手一个问题
temp = str[n-1];\/\/循环将数组前一个位置的值赋值到当前位置.\/\/当i 值减小到0 的时候退出,也就是说str[0]的值还是原来的值,没有变 for(i=n-1; i>0 ;i--){ str[i]=str[i-1];} \/\/将temp的值赋值到数组的第一个位置,也就是0位 str[0]=temp;} main(){ char s[50];scan...
一个c语言问题,请求高手帮忙。
i=10,j=1,或者说,j被析构了。