有以下程序 #include <stdio.h> void main() { char ch[7] = {"43ab21"}; int i, s=0; for (i = 0; ch[1] >='0' && ch[] <= '9'; i += 2) s = 10*s+ch[]-'0'; printf("%d\n", s); 程序运行后的输出结果是().
时间: 2024-01-04 20:04:28 浏览: 149
程序中有几个小问题,我来帮你解决一下。首先,char ch[7] 只能存放六个字符,因为最后一个字符必须是 '\0'。其次,在 for 循环中,ch[1] 应该是 ch[i+1],ch[] 应该是 ch[i]。修改后的程序如下:
#include <stdio.h>
void main() {
char ch[7] = "43ab21";
int i, s=0;
for (i = 0; ch[i+1] >='0' && ch[i] <= '9'; i += 2)
s = 10*s+ch[i]-'0';
printf("%d\n", s);
}
程序运行后的输出结果是 4321。
相关问题
完成以下C语言代码功能:将主函数中输入的字符串反序存放。#include<stdio. h> #include<conio. h> #include(string. h> #define N 50 void fun(char *str, int n)
我可以提供一个示例代码:#include <stdio.h>
#include <string.h>int main ()
{
char str[100], temp;
int i, j; printf("输入一个字符串: ");
gets(str); j = strlen(str) - 1; for (i = 0; i < j; i++, j--)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
} printf("反序后的字符串: %s", str); return 0;
}
请使用while函数将fun函数的内容补充完整,编写出一个C语言程序,对字符串,除首、尾字符外,将其字符按ASCII编码数值降序排列的操作:#include<stdio.h> #include<ctype.h> #include<string.h> #include<conio.h> void wwjt(); void fun(char *a,int len) { int i,j; char t; } main(){ char s[100]; int l; printf("输入字符串:"); gets(s); l=strlen(s); fun(s,l); printf("\n%s\n",s); wwjt(); }
#include<stdio.h>
#include<ctype.h>
#include<string.h>
#include<conio.h>
void wwjt();
void fun(char *a, int len) {
int i, j;
char t;
i = 1;
j = len - 2; //除去首尾字符后的最后一个字符的下标
while (i < j) {
while (i < j && a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
i++;
j--;
}
i++;
j--;
}
}
int main() {
char s[100];
int l;
printf("输入字符串:");
gets(s);
l = strlen(s);
fun(s, l);
printf("\n%s\n", s);
wwjt();
return 0;
}
void wwjt() {
printf("我爱计算机网络课程设计!\n");
}
阅读全文