VC编写程序输入若干个字符串,求每个字符串的长度,打印最长的字符串的内容。以stop作为最后输入的字符串

VC编写程序输入若干个字符串,求每个字符串的长度,打印最长的字符串的内容。以stop作为最后输入的字符串,第1张

#include <stdioh>

#include <stringh>

#define N    1000

int main()

{

    char sa[N], sb[N];//

    int max = 0;

    while (1)

    {

        gets(sa);

        if (strcmp(sa, "stop") == 0)

            break;

        if (max < strlen(sa))

        {

            memset(sb, 0, sizeof(sb));

            strcpy(sb, sa);

            max = strlen(sb);

        }

        memset(sa, 0, sizeof(sa));

    }

    puts(sb);

    return 0;

}//解决请采纳

你用了F11(step into)跟进的吧,这样的话遇到库函数就会出现这样的问题,因为库函数已经存在于lib文件中了,printfc这样的源代码文件当然不在了

建议用F10跳过库函数

这个程序没错,运行结果也是合情合理的,只不过不是你预期的,那是因为你没有理解输入输出流的概念,重点是这个流的含义,以及没有理解某些特殊字符,比如回车和换行。

你这个程序2次循环,每一次循环输入两个字符,然后分别打印2个字符。

但是你忽略了回车,你每一次输入2个字符之后,要按一下回车字符,而scanf读取2个字符,那么按下的回车并没有被读取,直到下一次循环时回车才会被读取。

所以第二个循环的时候,假如你输入了 x y 回车。 那么实际上a和b存入的值是 a = 回车 b = ‘x'。

注解:

键盘输入的任何数据,都按顺序一个一个排好队等待程序读取,这个队就是输入流。你按下了,如果程序没有读取,则数据一直在那里等待。 你输入 “12回车” 输入流的数据如下

’1‘,’2‘, ’\r‘ 。。

所以'\r'会干扰你的下一次循环。scanf 参数如果是 %c 表示一次从输入流取一个字符。

回车和换行都是特殊字符,回车 = ’\r‘ 换行 = '\n'

改一下程序实现你要的效果,如下。

#include<stdioh>

int main()

{

int i;

char a,b,n;

for (i=1;i<=2;i++)

{

scanf("%c%c%c",&a,&b,&n);

printf("a=%c,b=%c,enter=0x%X\n",a,b,n);

}

printf("enter any key to exit !!\n");

getchar();

return 0;

}

1点击“开始”——“设置”——“控制面板”,双击打开“打印机和传真”。

2点击“添加打印机”,进入“添加打印机向导”,点击“下一步”;

3选择“连接到这台计算机的本地打印机”,并且将“自动检测并安装我的即插即用打印机”前面的勾去掉,点击“下一步”;

4在“使用以下端口”中选择“LPT1:打印机端口”(根据实际情况选择),点击“下一步”(选择“从磁盘安装”);

5选择“浏览”,然后选择到下载的驱动程序解压所在的文件夹中,然后选择“确定”;

6此时,在“打印机”列表中,会自动显示出来打印机的型号,点击“下一步”继续安装驱动;

7在“打印机名”中,不用修改打印机的名称,使用默认的名称即可;同时,可以根据自己的需要选择是否将打印机设置成为默认打印机(推荐选择“是”)。然后,点击“下一步”;

8选择“不共享这台打印机”,点击“下一步”;

9根据自己的需要选择是否“要打印测试页”,点击“下一步”;

10点击“下一步”,将会出现“正在完成添加打印机向导”的提示界面。此时,选择“完成”。

方法步骤如下:

1、首先打开计算机,在计算机内打开vc++60,然后在界面内找到”新建“选项并点击。

2、然后在d出的界面内找到”文件“选项并点击,然后在界面内找到"c++ Source File"选项并点击然后输入文件名和文件位置。

3、然后在d出的界面内输入想要运行的源代码。

4、然后在d出的界面内找到"Build"选项图标并点击打开。

5、然后在d出的界面内找到“是”选项并点击。

6、然后在界面内找到如下图标注的运行图标并点击即可。

vc60运行程序 *** 作方法如下。

1、打开VC60。

2、新建一个C源文件,选则File-New,出现新建对话框。

3、在新建对话框选择Files下的c++SourceFile选项,然后在右边输入所要建立的C源文件名和保存的路径。

4、点击OK后,一个C源文件就建好了。

5、在C源文件中编写C程序。

6、编辑完后,保存源程序文件,然后执行这个C程序。

7、默认建立的工作空间名为C源文件名。

8、编译成功后,VC坏境下方会显示是否有错误,选择连接。

9、运行C程序,选择build-executecO-lexe,运行成功后,出现结果显示界面。

10、按任意键,回到VC主界面即可。

void

cview::oninitialupdate()

{

cformview::oninitialupdate();

/

加入你要的初始化代码/

getparentframe()->recalclayout();

resizeparenttofit();

}

在cformview中,通过跟踪可发现程序不会去调用cdialog::oninitdialog(),在cformview::create()中有如下语句createdlg(m_lpsztemplatename,

pparentwnd),既对话框通过非模态创建,创建期间会发送wm_create消息,但初始化代码不能写在oncreate函数里面,因为此时对话框还没创建完毕,在所有的创建工作结束后,既cformview::create()执行完毕后系统会调用oninitialupdate(),这时候就可以加入你的初始化代码了

以上就是关于VC编写程序输入若干个字符串,求每个字符串的长度,打印最长的字符串的内容。以stop作为最后输入的字符串全部的内容,包括:VC编写程序输入若干个字符串,求每个字符串的长度,打印最长的字符串的内容。以stop作为最后输入的字符串、用vc++一步一步调试程序时到打印时要选择路径 please enter the path for printf.c、我用vc6打c语言程序 #include<stdio.h> int main() [ primtf("h\n"); return 0:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10215690.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存