-
-
6
-
1
-
0
-
70
-
1各位大佬,为什么我在vscode编写c,用了scanf接收中文并存放到字符数组,然后在vscode终端打印却打印不出来,在电脑的终端也是一样打印不出来,这是为什么?
-
0033213或者说大家期待C26标准添加什么语言特性3071明天一上线就有一堆机器人关注我,请粉丝请的手累1char target; char str[lbk]101[rbk]; int max_index = -1; //开始标志-1表示未检索到。 int i=0,j; target = getchar(); char ch; while((ch=getchar())!='\n'){ //读取字符直到换行符。 str[lbk]i++[rbk] = ch; } str[lbk]i[rbk]='\0'; //在数组str末尾添加字符串结束符‘\0’表示字符串的结束。 for (j = i - 1; j >= 0; j--) { //从最后一个元素开始递减检索。 if (str[lbk]j[rbk] == target) { max_index = j; //查找到相应元素则作为最大值下标。 break; //一旦检索到即跳出循环,保证下标最大不被前面相同元素下标取代。 }1432720赶作业,用的是2010年的c++软件,不知道哪里错了运行结果如下图 还有我的代码…… #include <stdio.h> #include <stdlib.h> int main() { int choice; // 循环选择打印形式 do { printf("请选择打印形式:1. 完整九九乘法表 2.九九乘法表下三角部分(不含对角线)3.退出\n"); scanf("%d", &choice); fflush(stdin); // 清除输入缓冲区 // 选择结构判断打印形式 if (choice == 1) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { printf("%d x %d = %d\t", i, j, i *2#include <stdio.h> int main() { void my(char *s1,char *s2,char *new_s); char p1[100],p2[100],new_p[100]={'\0'},new_s,*s1,*s2; printf("请输入第一个字符串:"); scanf("%s",p1); printf("请输入第二个字符串:"); scanf("%s",p2); s1=&p1[0]; s2=&p2[0]; new_s=&new_p[0]; my(s1,s2,new_s); return 0; } void my(char *s1,char *s2,char *new_s) { int i,j,k,t; for(i=1;i<100;i++) { if(*(s2+i)=='\0') { break; } } for(j=1;j<100;j++) { if(*(s1+j)=='\0') { break; } } if(j>i) { for(k=0,t=0;k<i;k=k+2) { *(new_s08如题,今天老师讲指针的时候提到:如果写程序,指针变量指向没说明,运行的时候就会指向其他地址?(小登没记清)可能会丢失电脑内重要的东西。 然后小登我就想,以后涉及到指针都要十分小心,虽然小登电脑没存什么重要的,但是还是想问问各位大佬,这真的很严重吗?代码总会有写错的时候,有没有什么办法可以在错的时候仍无影响?132352714824321124012书上在字符串变量那个小节里面给的是strlen(const char[lbk][rbk]),然后我自己书写的时候strlen()括号里面放字符串变量有问题,这样来看感觉只能放字符型数组。 所以字符串变量的长度怎么求。。。41自己用了两三个月了,自测非常强大,我们小组写代码,代码审核建议,都统一用 comate 插件 代码优化建议方面,comate 比通义千问,coplit 强太多了,推荐使用 官网地址: https://comate.baidu.com/?inviteCode=1k1z48ix121