
#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:等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)